Compare commits
No commits in common. "241bc587837932ee77153882e7d3eceb41c200fa" and "af4b69104d8be50fbe4af36d77ea05345cb861cd" have entirely different histories.
241bc58783
...
af4b69104d
20 changed files with 80 additions and 141 deletions
|
@ -18,11 +18,10 @@ each host should have these files:
|
|||
## todo
|
||||
|
||||
- multi architecture configuration ([nix-systems](https://github.com/nix-systems/nix-systems)?)
|
||||
- divide steam and gamemode?
|
||||
- hidpi option ? mostly auto these days though
|
||||
- better theming for hyprlock, rofi, dunst (accent for hyprlock & dunst, variants for rofi)
|
||||
- some way for border radius, border, tranparency theme options
|
||||
- tags for pip and popups in hyprland config
|
||||
- make wl-clip-persist and networkmanager applet systemd services?
|
||||
- make wl-clip-persist, polkit agent, and networkmanager applet systemd services?
|
||||
- gtk cursors are MESSED UP. top priority rn
|
||||
- niri.. yum
|
||||
- do lockscreen better somehow
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 674 KiB |
BIN
assets/lockscreen.png
Normal file
BIN
assets/lockscreen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
18
flake.lock
generated
18
flake.lock
generated
|
@ -86,11 +86,11 @@
|
|||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732722421,
|
||||
"narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=",
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -706,11 +706,11 @@
|
|||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1732837521,
|
||||
"narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=",
|
||||
"lastModified": 1720957393,
|
||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370",
|
||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -810,11 +810,11 @@
|
|||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733561910,
|
||||
"narHash": "sha256-TkyWMLnLd5QhAlfAGtuU3n8Gtl2Gp4+8Ye/rE4hs46A=",
|
||||
"lastModified": 1721250245,
|
||||
"narHash": "sha256-/JW3WnRLpfz8j+9Zc9YkK63i8DjHrKwv9PWKIMz3MVI=",
|
||||
"owner": "Alexays",
|
||||
"repo": "Waybar",
|
||||
"rev": "e959f1d2300c5f7fcc818630c9eae59d834024ce",
|
||||
"rev": "15e1547661bfc5fe9b3d45bb0d9cea11cf07db7f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -53,7 +53,6 @@
|
|||
|
||||
swww.enable = true;
|
||||
gnome-keyring.enable = true;
|
||||
mate-polkit.enable = true;
|
||||
dunst.enable = true;
|
||||
rofi.enable = true;
|
||||
nwg-drawer.enable = true;
|
||||
|
@ -77,7 +76,6 @@
|
|||
system.fish.enable = true;
|
||||
system.syncthing.enable = true;
|
||||
system.flatpak.enable = true;
|
||||
system.mpv.enable = true;
|
||||
# editors
|
||||
editors.micro.enable = true;
|
||||
editors.vscode.enable = true;
|
||||
|
@ -86,11 +84,12 @@
|
|||
# distractions
|
||||
distractions.discord.enable = true;
|
||||
distractions.discord.vesktop = true;
|
||||
distractions.gamemode.enable = true;
|
||||
distractions.steam.enable = true;
|
||||
# tools
|
||||
tools.gpg.enable = true;
|
||||
tools.mpv.enable = true;
|
||||
tools.rbw.enable = true;
|
||||
tools.noisetorch.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -70,17 +70,17 @@ in {
|
|||
};
|
||||
|
||||
urgency_low = {
|
||||
background = "#${base00}FF";
|
||||
background = "#${base00}cc";
|
||||
foreground = "#${base05}";
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
background = "#${base00}FF";
|
||||
background = "#${base00}cc";
|
||||
foreground = "#${base05}";
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
background = "#${base00}FF";
|
||||
background = "#${base00}cc";
|
||||
foreground = "#${base05}";
|
||||
frame_color = "#${base08}"; # base16 spec says red
|
||||
};
|
||||
|
|
|
@ -15,7 +15,9 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
hm.home.packages = [ cfg.package ];
|
||||
hm.services.hypridle = {
|
||||
hm.services.hypridle = let
|
||||
hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl";
|
||||
in {
|
||||
enable = true;
|
||||
package = cfg.package;
|
||||
|
||||
|
@ -25,6 +27,7 @@ in {
|
|||
unlock_cmd = "${pkgs.procps}/bin/pkill -USR1 hyprlock";
|
||||
|
||||
before_sleep_cmd = "${pkgs.systemd}/bin/loginctl lock-session"; # lock the screen before sleeping
|
||||
after_sleep_cmd = "${hyprctl} dispatch dpms on"; # turn on the screen to avoid moving mouse/pressing key
|
||||
};
|
||||
|
||||
listener = [
|
||||
|
@ -38,6 +41,11 @@ in {
|
|||
on-timeout = "${lib.getExe pkgs.brightnessctl} -d '*:kbd_backlight' -s set 0"; # turn off keyboard backlight, save state
|
||||
on-resume = "${lib.getExe pkgs.brightnessctl} -d '*:kbd_backlight' -r"; # restore previous keyboard backlight state
|
||||
}
|
||||
{
|
||||
timeout = 90; # 1.5 min
|
||||
on-timeout = "${hyprctl} dispatch dpms off"; # turn off screen
|
||||
on-resume = "${hyprctl} dispatch dpms on"; # turn it back on
|
||||
}
|
||||
{
|
||||
timeout = 60 * 2; # 2 min
|
||||
on-timeout = "${pkgs.systemd}/bin/loginctl lock-session"; # lock computer
|
||||
|
@ -46,13 +54,7 @@ in {
|
|||
timeout = 60 * 15; # 15 min
|
||||
on-timeout = "${pkgs.systemd}/bin/systemctl suspend"; # sleep/suspend
|
||||
}
|
||||
] ++ optional config.modules.desktop.hyprland.enable (let
|
||||
hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl";
|
||||
in {
|
||||
timeout = 90; # 1.5 min
|
||||
on-timeout = "${hyprctl} dispatch dpms off"; # turn off screen
|
||||
on-resume = "${hyprctl} dispatch dpms on"; # turn it back on
|
||||
});
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -97,17 +97,14 @@ in {
|
|||
|
||||
mode="$1"
|
||||
case "$mode" in
|
||||
screen)
|
||||
fullscreen)
|
||||
mode="output"
|
||||
;;
|
||||
area)
|
||||
mode="area"
|
||||
;;
|
||||
window)
|
||||
mode="active"
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 [screen|area|window]" >&2
|
||||
echo "usage: $0 [fullscreen|area]" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
@ -129,26 +126,17 @@ in {
|
|||
;;
|
||||
esac
|
||||
'';
|
||||
pickerScript = pkgs.writeShellScript "color-picker" ''
|
||||
${lib.getExe pkgs.zenity} --color-selection --color $(${lib.getExe pkgs.hyprpicker})
|
||||
'';
|
||||
in [
|
||||
"$mod, Q, killactive, "
|
||||
"$mod, F, togglefloating, "
|
||||
"$mod, P, pseudo, " # dwindle
|
||||
"$mod, J, togglesplit, " # dwindle
|
||||
"$mod SHIFT, F, fullscreen, "
|
||||
|
||||
# move focus with mod + arrow keys
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
# move windows with mod + shift + arrow keys
|
||||
"$mod SHIFT, left, movewindow, l"
|
||||
"$mod SHIFT, right, movewindow, r"
|
||||
"$mod SHIFT, up, movewindow, u"
|
||||
"$mod SHIFT, down, movewindow, d"
|
||||
|
||||
# example special workspace (scratchpad)
|
||||
"$mod, grave, togglespecialworkspace, magic"
|
||||
|
@ -170,14 +158,9 @@ in {
|
|||
# area
|
||||
", Print, exec, ${screenshotScript} area"
|
||||
"$mod SHIFT, S, exec, ${screenshotScript} area"
|
||||
# screen
|
||||
"CTRL, Print, exec, ${screenshotScript} screen"
|
||||
"$mod SHIFT CTRL, S, exec, ${screenshotScript} screen"
|
||||
# window
|
||||
"ALT, Print, exec, ${screenshotScript} window"
|
||||
"$mod SHIFT ALT, S, exec, ${screenshotScript} window"
|
||||
# pick color
|
||||
"$mod SHIFT, C, exec, ${pickerScript}"
|
||||
# fullscreen
|
||||
", Print, exec, ${screenshotScript} fullscreen"
|
||||
"$mod SHIFT CTRL, S, exec, ${screenshotScript} fullscreen"
|
||||
|
||||
", XF86LaunchA, exec, ${screenshotScript} area"
|
||||
", XF86LaunchB, exec, ${lib.getExe pkgs.rofi-rbw-wayland} -a copy -t password --clear-after 20"
|
||||
|
@ -217,6 +200,7 @@ in {
|
|||
|
||||
exec-once = [
|
||||
"${lib.getExe pkgs.networkmanagerapplet}" # network applet
|
||||
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" # polkit agent
|
||||
"${lib.getExe pkgs.wl-clip-persist} --clipboard regular" # to fix wl clipboards disappearing
|
||||
];
|
||||
|
||||
|
@ -359,10 +343,14 @@ in {
|
|||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = "yes"; # master switch for pseudotiling. enabling is mod + P in the keybinds section
|
||||
pseudotile = "yes"; # master swtich for pseudotiling. enabling is mod + P in the keybinds section
|
||||
preserve_split = "yes";
|
||||
};
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_min_speed_to_force = 0;
|
||||
|
@ -370,17 +358,11 @@ in {
|
|||
};
|
||||
|
||||
misc = {
|
||||
# disable default eye candy
|
||||
force_default_wallpaper = 0;
|
||||
disable_splash_rendering = true;
|
||||
disable_hyprland_logo = true;
|
||||
|
||||
# there is zero reason to have this enabled
|
||||
# what were they thinking
|
||||
initial_workspace_tracking = 0;
|
||||
|
||||
vfr = true;
|
||||
vrr = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -33,7 +33,7 @@ in {
|
|||
};
|
||||
background = [
|
||||
{
|
||||
path = toString ../../assets/lockscreen.jpg;
|
||||
path = toString ../../assets/lockscreen.png;
|
||||
color = "rgb(${base00})";
|
||||
blur_passes = 3;
|
||||
blur_size = 6;
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.desktop.mate-polkit;
|
||||
in {
|
||||
options.modules.desktop.mate-polkit = {
|
||||
enable = mkEnableOption "Enable the MATE desktop environment polkit authentication agent";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hm.systemd.user.services.mate-polkit = {
|
||||
Unit = {
|
||||
Description = "the MATE desktop environment polkit authentication agent";
|
||||
After = [ "graphical-session-pre.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.mate.mate-polkit}/libexec/polkit-mate-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -49,7 +49,7 @@ in {
|
|||
flavor = variant;
|
||||
font = config.modules.desktop.fonts.fonts.sansSerif.family;
|
||||
fontSize = toString config.modules.desktop.fonts.fonts.sansSerif.size;
|
||||
background = ../../../../assets/lockscreen.jpg;
|
||||
background = ../../../../assets/lockscreen.png;
|
||||
loginBackground = true;
|
||||
});
|
||||
};
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.software.distractions.gamemode;
|
||||
in {
|
||||
options.modules.software.distractions.gamemode = {
|
||||
enable = mkEnableOption "Enable Gamemode, a program to optimize your system performance on demand";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# optimize linux system performance on demand
|
||||
# https://github.com/FeralInteractive/gamemode
|
||||
user.extraGroups = [ "gamemode" ];
|
||||
programs.gamemode = {
|
||||
enable = true;
|
||||
enableRenice = true;
|
||||
settings = {
|
||||
general = {
|
||||
softrealtime = "auto";
|
||||
renice = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -11,6 +11,29 @@ in {
|
|||
config = mkIf cfg.enable {
|
||||
programs.steam.enable = true;
|
||||
|
||||
# optimize linux system performance on demand
|
||||
# https://github.com/FeralInteractive/gamemode
|
||||
user.extraGroups = [ "gamemode" ];
|
||||
programs.gamemode = {
|
||||
enable = true;
|
||||
enableRenice = true;
|
||||
settings = {
|
||||
custom = {
|
||||
start = "${pkgs.libnotify}/bin/notify-send --app-name GameMode 'GameMode started'";
|
||||
end = "${pkgs.libnotify}/bin/notify-send --app-name GameMode 'GameMode ended'";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
programs.steam.gamescopeSession = {
|
||||
enable = true;
|
||||
args = [ "-W 1920" "-H 1080" "-r 60" "--expose-wayland" "-e" ];
|
||||
};
|
||||
|
||||
user.packages = [ pkgs.protontricks pkgs.steam-run ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -22,8 +22,8 @@ in {
|
|||
libnotify
|
||||
];
|
||||
|
||||
programs.fish.enable = true;
|
||||
users.defaultUserShell = pkgs.fish;
|
||||
programs.fish.enable = true;
|
||||
hm.programs.fish = let
|
||||
colorScript = nix-colors-lib.shellThemeFromScheme { scheme = config.colorScheme; };
|
||||
in {
|
||||
|
@ -33,6 +33,7 @@ in {
|
|||
{ name = "grc"; src = grc.src; }
|
||||
{ name = "tide"; src = tide.src; }
|
||||
{ name = "done"; src = done.src; }
|
||||
|
||||
{ name = "autopair"; src = autopair.src; }
|
||||
];
|
||||
interactiveShellInit = ''
|
||||
|
|
|
@ -23,7 +23,6 @@ in {
|
|||
fonts = config.modules.desktop.fonts.fonts;
|
||||
in ''
|
||||
local wezterm = require 'wezterm'
|
||||
local act = wezterm.action
|
||||
|
||||
local config = {}
|
||||
|
||||
|
@ -44,29 +43,6 @@ in {
|
|||
font_size = ${toString fonts.sansSerif.size}
|
||||
}
|
||||
|
||||
config.mouse_bindings = {
|
||||
-- Change the default click behavior so that it only selects
|
||||
-- text and doesn't open hyperlinks
|
||||
{
|
||||
event = { Up = { streak = 1, button = 'Left' } },
|
||||
mods = 'NONE',
|
||||
action = act.CompleteSelection 'ClipboardAndPrimarySelection'
|
||||
},
|
||||
-- and make CTRL-Click open hyperlinks
|
||||
{
|
||||
event = { Up = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL',
|
||||
action = act.OpenLinkAtMouseCursor
|
||||
},
|
||||
-- Disable the 'Down' event of CTRL-Click to avoid weird program behaviors
|
||||
-- https://wezfurlong.org/wezterm/config/mouse.html#gotcha-on-binding-an-up-event-only
|
||||
{
|
||||
event = { Down = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL',
|
||||
action = act.Nop
|
||||
}
|
||||
}
|
||||
|
||||
return config
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.software.system.mpv;
|
||||
cfg = config.modules.software.tools.mpv;
|
||||
in {
|
||||
options.modules.software.system.mpv = {
|
||||
options.modules.software.tools.mpv = {
|
||||
enable = mkEnableOption "Enable mpv, a lightweight video player";
|
||||
};
|
||||
|
14
modules/software/tools/noisetorch.nix
Normal file
14
modules/software/tools/noisetorch.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.software.tools.noisetorch;
|
||||
in {
|
||||
options.modules.software.tools.noisetorch = {
|
||||
enable = mkEnableOption "Enable noisetorch, a microphone noise supression tool";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.noisetorch.enable = true;
|
||||
};
|
||||
}
|
BIN
packages/wallpapers/img/os_prophets.png
Normal file
BIN
packages/wallpapers/img/os_prophets.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 MiB |
Binary file not shown.
Before Width: | Height: | Size: 674 KiB |
Binary file not shown.
Before Width: | Height: | Size: 378 KiB |
Loading…
Add table
Add a link
Reference in a new issue