Compare commits

..

No commits in common. "5f5c70958e03bd013fd7d23874ebe2ba98a8611e" and "556749b42cd6d326e7a85b2fd4a0367250234141" have entirely different histories.

21 changed files with 143 additions and 279 deletions

View file

@ -17,8 +17,7 @@ each host should have these files:
## todo ## todo
- move common config such as bootloader and networking settings to [`default.nix`](./default.nix) or some other common spot - move common config such as bootloader and networking settings to [`default.nix`](./default.nix) or some other common spot
- multi architecture configuration ([nix-systems](https://github.com/nix-systems/nix-systems)?) - multi architecture configuration
- bitwarden - bitwarden
- sddm cursors no work :( - qt themes?
- setup editorconfig everywhere - sddm cursors no work :(
- divide steam and gamemode?

View file

@ -3,7 +3,7 @@
frame_color = "#89B4FA" frame_color = "#89B4FA"
separator_color= frame separator_color= frame
follow = "mouse" follow = none
width = 300 width = 300
height = 145 height = 145
origin = top-right origin = top-right

223
flake.lock generated
View file

@ -34,22 +34,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1711352745, "lastModified": 1711352745,
@ -87,10 +71,7 @@
}, },
"hyprcursor": { "hyprcursor": {
"inputs": { "inputs": {
"hyprlang": [ "hyprlang": "hyprlang_2",
"hyprland",
"hyprlang"
],
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
@ -101,11 +82,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1713612213, "lastModified": 1711466786,
"narHash": "sha256-zJboXgWNpNhKyNF8H/3UYzWkx7w00TOCGKi3cwi+tsw=", "narHash": "sha256-sArxGyUBiCA1in+q6t0QqT+ZJiZ1PyBp7cNPKLmREM0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "cab4746180f210a3c1dd3d53e45c510e309e90e1", "rev": "d3876f34779cc03ee51e4aafc0d00a4f187c7544",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -118,14 +99,14 @@
"inputs": { "inputs": {
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"systems": "systems_2" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1713472482, "lastModified": 1710180874,
"narHash": "sha256-7Ft5WZTMIjXOGgRCf31DZBwK6RK8xkeKlD5vFXz3gII=", "narHash": "sha256-ZSn3wXQuRz36Ta/L+UCFKuUVG6QpwK2QmRkPjpQprU4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hypridle", "repo": "hypridle",
"rev": "7cff4581a3753154fc5b41f39a098fad49b777b1", "rev": "4395339a2dc410bcf49f3e24f9ed3024fdb25b0a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -138,19 +119,18 @@
"inputs": { "inputs": {
"hyprcursor": "hyprcursor", "hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang_2", "hyprlang": "hyprlang_3",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"systems": "systems_3", "systems": "systems_3",
"wlroots": "wlroots", "wlroots": "wlroots",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1714084064, "lastModified": 1711673030,
"narHash": "sha256-WUEFYyOzgWOr6pK2/1fCohUUF77wuj1zIeP8jvPL0LU=", "narHash": "sha256-atpS9c2LR56DIURlDLmuKHGmVQj9Xky2aETGhdTwMKg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "1d40af64d352bd5a87c7d53a52707fc5cfc6940e", "rev": "fcd9d77b642c0cd45cae61cf10ed1924f2e7945b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -205,15 +185,14 @@
"nixpkgs": [ "nixpkgs": [
"hypridle", "hypridle",
"nixpkgs" "nixpkgs"
], ]
"systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1713121246, "lastModified": 1708212860,
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", "narHash": "sha256-nW3Zrhh9RJcMTvOcXAaKADnJM/g6tDf3121lJtTHnYo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", "rev": "11d5ccda071c153dfdc18ef65338956a51cef96a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -226,19 +205,17 @@
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"hyprcursor",
"nixpkgs" "nixpkgs"
], ],
"systems": [ "systems": "systems_2"
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1713121246, "lastModified": 1709914708,
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -250,17 +227,20 @@
"hyprlang_3": { "hyprlang_3": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprlock", "hyprland",
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_4" "systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1713121246, "lastModified": 1711250455,
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", "narHash": "sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", "rev": "b3e430f81f3364c5dd1a3cc9995706a4799eb3fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -270,6 +250,28 @@
} }
}, },
"hyprlang_4": { "hyprlang_4": {
"inputs": {
"nixpkgs": [
"hyprlock",
"nixpkgs"
],
"systems": "systems_4"
},
"locked": {
"lastModified": 1711250455,
"narHash": "sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "b3e430f81f3364c5dd1a3cc9995706a4799eb3fa",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprlang_5": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"systems": "systems_6" "systems": "systems_6"
@ -290,16 +292,16 @@
}, },
"hyprlock": { "hyprlock": {
"inputs": { "inputs": {
"hyprlang": "hyprlang_3", "hyprlang": "hyprlang_4",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"systems": "systems_5" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1713978374, "lastModified": 1711622429,
"narHash": "sha256-jla5Wo0Qt3NEnD0OjNj85BGw0pR4Zlz5uy8AqHH7tuE=", "narHash": "sha256-JwHbbmAzX1Kfq1XAs06lKbk2TZL7mH/yLczG4BaiuTs=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlock", "repo": "hyprlock",
"rev": "415262065fff0a04b229cd00165f346a86a0a73a", "rev": "7f8c9b6addce5174af78acaf1eb1d726fc4133b5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -310,16 +312,16 @@
}, },
"hyprpaper": { "hyprpaper": {
"inputs": { "inputs": {
"hyprlang": "hyprlang_4", "hyprlang": "hyprlang_5",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_6",
"systems": "systems_7" "systems": "systems_7"
}, },
"locked": { "locked": {
"lastModified": 1712919696, "lastModified": 1711556036,
"narHash": "sha256-93zNQy4LGFP5h/GrQJctd8cPE0VdCDsWigTOx2effrE=", "narHash": "sha256-z+ZgMjGC8540k3Z6Z49ZnEvbWyLGXtWPSCagMOrmuXk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprpaper", "repo": "hyprpaper",
"rev": "02ee7ff3bbd9cba72f26be7b09dde4a89fc31c21", "rev": "5838c90cd29374935930281f62bc131d8bcf2295",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -328,31 +330,6 @@
"type": "github" "type": "github"
} }
}, },
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1713989318,
"narHash": "sha256-WSsEQQxZQ+bsAWRhi1iXvP8sxgRyNtY3X1V3CfFdP5Q=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "1cfe2d26a82ce794fd33ec06fa022e68501c5a45",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"nix-colors": { "nix-colors": {
"inputs": { "inputs": {
"base16-schemes": "base16-schemes", "base16-schemes": "base16-schemes",
@ -405,11 +382,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1712963716, "lastModified": 1708475490,
"narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", "rev": "0e74ca98a74bc7270d28838369593635a5db3260",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -421,11 +398,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1713714899, "lastModified": 1711523803,
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -437,11 +414,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1712963716, "lastModified": 1711523803,
"narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -499,22 +476,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_8": {
"locked": {
"lastModified": 1711163522,
"narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"catppuccin-vsc": "catppuccin-vsc", "catppuccin-vsc": "catppuccin-vsc",
@ -527,7 +488,6 @@
"hyprpaper": "hyprpaper", "hyprpaper": "hyprpaper",
"nix-colors": "nix-colors", "nix-colors": "nix-colors",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_7",
"waybar": "waybar",
"waybar-catppuccin": "waybar-catppuccin" "waybar-catppuccin": "waybar-catppuccin"
} }
}, },
@ -636,25 +596,6 @@
"type": "github" "type": "github"
} }
}, },
"waybar": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1714680561,
"narHash": "sha256-ov7v4OaiMW6gylMFTjKXXtoxrgAjtOTHa09oFmu3B3s=",
"owner": "Alexays",
"repo": "Waybar",
"rev": "0b6476da32d181ee6b2cabdc5205a46a90521a75",
"type": "github"
},
"original": {
"owner": "Alexays",
"repo": "Waybar",
"type": "github"
}
},
"waybar-catppuccin": { "waybar-catppuccin": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -674,18 +615,20 @@
"wlroots": { "wlroots": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1713731601, "host": "gitlab.freedesktop.org",
"narHash": "sha256-bdcKdtLkusvv85DNuJsajZLFeq7bXp+x5AGP1Sd4wD8=", "lastModified": 1709983277,
"owner": "hyprwm", "narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
"repo": "wlroots-hyprland", "owner": "wlroots",
"rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea", "repo": "wlroots",
"type": "github" "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
"type": "gitlab"
}, },
"original": { "original": {
"owner": "hyprwm", "host": "gitlab.freedesktop.org",
"repo": "wlroots-hyprland", "owner": "wlroots",
"rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea", "repo": "wlroots",
"type": "github" "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
"type": "gitlab"
} }
}, },
"xdph": { "xdph": {
@ -708,11 +651,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1713724432, "lastModified": 1709299639,
"narHash": "sha256-dtU1y4oj/0Y42oauzm93ucFg1AoqETnQ21bmXTIUng0=", "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "9ace6f969ce495185df34cc6254fb9d297765478", "rev": "2d2fb547178ec025da643db57d40a971507b82fe",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -10,8 +10,6 @@
hardware.url = "github:nixos/nixos-hardware"; hardware.url = "github:nixos/nixos-hardware";
nix-colors.url = "github:misterio77/nix-colors"; nix-colors.url = "github:misterio77/nix-colors";
waybar.url = "github:Alexays/Waybar";
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
hyprlock.url = "github:hyprwm/hyprlock"; hyprlock.url = "github:hyprwm/hyprlock";
hypridle.url = "github:hyprwm/hypridle"; hypridle.url = "github:hyprwm/hypridle";

View file

@ -19,19 +19,18 @@
# apps # apps
firefox mpv qalculate-gtk firefox mpv qalculate-gtk
# misc # misc
bat file which tree prismlauncher yt-dlp ffmpeg gpu-screen-recorder gpu-screen-recorder-gtk bat file which tree prismlauncher yt-dlp
] ++ (with pkgs.my; [ ] ++ (with pkgs.my; [
# none yet # none yet
]) ++ (with pkgs.gnome; [ ]) ++ (with pkgs.gnome; [
# yay gnomeware!!!!!!!!!!!!!! yum # yay gnomeware!!!!!!!!!!!!!! yum
nautilus gnome-disk-utility pkgs.gnome-text-editor pkgs.baobab file-roller gnome-system-monitor loupe nautilus gnome-disk-utility pkgs.gnome-text-editor file-roller gnome-system-monitor loupe
]); ]);
modules = { modules = {
security.useDoas = true; security.useDoas = true;
hardware = { hardware = {
bluetooth.enable = true;
pipewire.enable = true; pipewire.enable = true;
}; };
dev = { dev = {
@ -45,7 +44,6 @@
hypridle.enable = true; hypridle.enable = true;
hyprpaper.enable = true; hyprpaper.enable = true;
polkit-gnome.enable = true;
dunst.enable = true; dunst.enable = true;
rofi.enable = true; rofi.enable = true;
nwg-drawer.enable = true; nwg-drawer.enable = true;
@ -66,7 +64,7 @@
dev.git.enable = true; dev.git.enable = true;
# distractions # distractions
distractions.discord.enable = true; distractions.discord.enable = true;
distractions.discord.vesktop = true; distractions.discord.armcord = true;
distractions.steam.enable = true; distractions.steam.enable = true;
}; };
}; };

View file

@ -21,7 +21,8 @@
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
# nvidia driver # nvidia
# !! you should keep this enabled if you use wayland !!
services.xserver.videoDrivers = [ "nvidia" ]; services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = { hardware.nvidia = {
@ -30,12 +31,10 @@
modesetting.enable = true; modesetting.enable = true;
powerManagement.enable = true; powerManagement.enable = true;
};
boot.kernelParams = [ # this program is (respectfully) a pile of dogshit and is just bloat if using wayland
# use experimental nvidia supplied framebuffer nvidiaSettings = false;
"nvidia-drm.fbdev=1" };
];
# VA-API # VA-API
hardware.opengl = { hardware.opengl = {

View file

@ -13,6 +13,12 @@ in {
config = mkMerge [ config = mkMerge [
{ {
qt = {
enable = true;
platformTheme = "gnome";
style = "adwaita-dark";
};
modules.desktop.fonts.enable = true; modules.desktop.fonts.enable = true;
modules.desktop.fonts.baseFonts = true; modules.desktop.fonts.baseFonts = true;
} }
@ -27,6 +33,8 @@ in {
XDG_SESSION_TYPE = "wayland"; XDG_SESSION_TYPE = "wayland";
SDL_VIDEODRIVER = "wayland"; SDL_VIDEODRIVER = "wayland";
CLUTTER_BACKEND = "wayland"; CLUTTER_BACKEND = "wayland";
# this fixes cursors on nvidia, maybe move all nvidia stuff to a module? or put this in hardware
WLR_NO_HARDWARE_CURSORS = "1";
}; };
}) })
(mkIf (cfg.envProto == "x11") { (mkIf (cfg.envProto == "x11") {

View file

@ -89,6 +89,7 @@ in {
}; };
hm.gtk.enable = true; hm.gtk.enable = true;
# not the best way of writing this (imagine if `name` was named `family`...)
hm.gtk.font = with cfg.fonts.sansSerif; { hm.gtk.font = with cfg.fonts.sansSerif; {
package = package; package = package;
name = family; name = family;

View file

@ -14,18 +14,20 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
hm.services.hypridle = let hm.services.hypridle = {
hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl";
in {
enable = true; enable = true;
package = cfg.package; package = cfg.package;
lockCmd = "${pkgs.procps}/bin/pidof hyprlock || ${hyprctl} dispatch exec ${lib.getExe config.modules.desktop.hyprlock.package}"; # the `date` command doesn't work if we just call hyprlock. Huh
unlockCmd = "${pkgs.procps}/bin/pkill -USR1 hyprlock"; # workaround is telling hyprctl to dispatch to execute it
# hacky, but i couldn't care less at the moment
# TODO: change this when/if it gets patched
lockCmd = "${config.modules.desktop.hyprland.package}/bin/hyprctl dispatch exec ${lib.getExe config.modules.desktop.hyprlock.package}";
unlockCmd = "pkill -USR1 hyprlock";
beforeSleepCmd = "${pkgs.systemd}/bin/loginctl lock-session"; listeners = let
hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl";
listeners = [ in [
{ {
timeout = 90; # 1.5 min timeout = 90; # 1.5 min
onTimeout = "${hyprctl} dispatch dpms off"; # turn off screen onTimeout = "${hyprctl} dispatch dpms off"; # turn off screen
@ -33,11 +35,11 @@ in {
} }
{ {
timeout = 60 * 2; # 2 min timeout = 60 * 2; # 2 min
onTimeout = "${pkgs.systemd}/bin/loginctl lock-session"; # lock computer onTimeout = "loginctl lock-session"; # lock computer
} }
{ {
timeout = 60 * 30; # 30 min timeout = 60 * 30; # 15 min
onTimeout = "${pkgs.systemd}/bin/systemctl suspend"; # sleep/suspend onTimeout = "systemctl suspend"; # sleep/suspend
} }
]; ];
}; };

View file

@ -118,27 +118,18 @@ in {
windowrulev2 = [ windowrulev2 = [
# common popups # common popups
"float, class:file-roller" "float, class:file-roller"
"size 1100 730, class:file-roller"
"float, class:org.gnome.Loupe" "float, class:org.gnome.Loupe"
"size 1100 730, class:org.gnome.Loupe"
"float, initialTitle:^Open Folder$" "float, initialTitle:^Open Folder$"
"size 1100 730, initialTitle:^Open Folder$"
"float, initialTitle:^Open File$" "float, initialTitle:^Open File$"
"size 1100 730, initialTitle:^Open File$"
"float, initialTitle:^Open Files$"
"size 1100 730, initialTitle:^Open Files$"
"float, initialTitle:^Save As$"
"size 1100 730, initialTitle:^Save As$"
# fix focus # fix focus
"stayfocused, class:^pinentry-" "stayfocused, class:^pinentry-"
"stayfocused, class:^polkit-"
"stayfocused, class:^rofi-" "stayfocused, class:^rofi-"
# workspace moving # workspace moving
"workspace 1, class:^firefox" "workspace 1, class:^firefox"
"workspace 2, class:code-url-handler" "workspace 2, class:code-url-handler"
"workspace 4, class:vesktop" "workspace 4, class:ArmCord"
]; ];
blurls = [ blurls = [

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, inputs, system, ... }: { lib, config, inputs, system, ... }:
with lib; with lib;
let let
@ -15,16 +15,17 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
security.pam.services.hyprlock.text = "auth include login"; security.pam.services.hyprlock.text = "auth include login";
powerManagement.resumeCommands = ''
${cfg.package}
'';
hm.programs.hyprlock = with config.colorScheme.palette; { hm.programs.hyprlock = with config.colorScheme.palette; {
enable = true; enable = true;
package = cfg.package; package = cfg.package;
general = { general = {
hide_cursor = false; hide_cursor = false;
no_fade_in = true; no_fade_in = true;
no_fade_out = true; no_fade_out = true;
}; };
backgrounds = [ backgrounds = [
{ {
path = toString ../../assets/lockscreen.png; path = toString ../../assets/lockscreen.png;
@ -32,7 +33,6 @@ in {
blur_size = 6; blur_size = 6;
} }
]; ];
labels = [ labels = [
{ {
text = "cmd[update:1000] echo \"$(date +'%H:%M')\""; text = "cmd[update:1000] echo \"$(date +'%H:%M')\"";
@ -49,7 +49,6 @@ in {
position = { x = 0; y = 10; }; position = { x = 0; y = 10; };
} }
]; ];
input-fields = [ input-fields = [
{ {
size = { width = 300; height = 28; }; size = { width = 300; height = 28; };

View file

@ -9,7 +9,7 @@ in {
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = inputs.hyprpaper.packages.${system}.hyprpaper; default = inputs.hyprpaper.packages.${system}.hyprpaper;
example = "pkgs.hyprpaper"; example = "pkgs.hyperpaper";
}; };
}; };

View file

@ -1,28 +0,0 @@
{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.modules.desktop.polkit-gnome;
in {
options.modules.desktop.polkit-gnome = {
enable = mkEnableOption "Enable polkit-gnome, a simple polkit agent";
};
config = mkIf cfg.enable {
systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
}

View file

@ -10,7 +10,6 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.xserver.enable = true; # this is needed, unfortunately! services.xserver.enable = true; # this is needed, unfortunately!
services.xserver.excludePackages = [ pkgs.xterm ]; # prevents xterm on wayland and x
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
config.modules.desktop.themes.sddmTheme.package config.modules.desktop.themes.sddmTheme.package
libsForQt5.qt5.qtsvg libsForQt5.qt5.qtsvg

View file

@ -67,19 +67,6 @@ in {
theme = cfg.gtkTheme; theme = cfg.gtkTheme;
}; };
hm.qt = {
enable = true;
platformTheme = "gtk";
style.name = "gtk2";
};
hm.home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
name = cfg.cursorTheme.name;
package = cfg.cursorTheme.package;
};
hm.services.dunst.iconTheme = { hm.services.dunst.iconTheme = {
name = cfg.iconTheme.name; name = cfg.iconTheme.name;
package = cfg.iconTheme.package; package = cfg.iconTheme.package;

View file

@ -1,23 +1,17 @@
{ lib, config, pkgs, inputs, system, ... }: { lib, config, pkgs, inputs, ... }:
with lib; with lib;
let let
cfg = config.modules.desktop.waybar; cfg = config.modules.desktop.waybar;
in { in {
options.modules.desktop.waybar = { options.modules.desktop.waybar = {
enable = mkEnableOption "Enable Waybar, a highly customizable wayland bar for wlroots compositors."; enable = mkEnableOption "Enable Waybar, a lightweight desktop environment based on GTK+";
package = mkOption {
type = types.package;
default = inputs.waybar.packages.${system}.default;
example = "pkgs.waybar";
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
hm.wayland.windowManager.hyprland.settings.exec-once = [ "${lib.getExe cfg.package}" ]; hm.wayland.windowManager.hyprland.settings.exec-once = [ "${lib.getExe pkgs.waybar}" ];
hm.programs.waybar = { hm.programs.waybar = {
enable = true; enable = true;
package = cfg.package;
style = builtins.concatStringsSep "\n" [ style = builtins.concatStringsSep "\n" [
"@import \"${inputs.waybar-catppuccin}/themes/mocha.css\";" "@import \"${inputs.waybar-catppuccin}/themes/mocha.css\";"
(lib.readFile ../../config/waybar.css) (lib.readFile ../../config/waybar.css)
@ -135,7 +129,8 @@ in {
"(\\S+\\.zig\\s.*)" = " $1"; "(\\S+\\.zig\\s.*)" = " $1";
"(\\S+\\.rs\\s.*)" = " $1"; "(\\S+\\.rs\\s.*)" = " $1";
"(\\S+\\.hs\\s.*)" = " $1"; "(\\S+\\.hs\\s.*)" = " $1";
".*Discord \\| (.*)" = "$1"; ".*Discord | (.*) | .*" = "$1 - ArmCord";
#"(.*) - ArmCord" = "$1";
}; };
separate-outputs = true; separate-outputs = true;
}; };

View file

@ -1,19 +0,0 @@
{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.modules.hardware.bluetooth;
in {
options.modules.hardware.bluetooth = {
enable = mkEnableOption "Enable bluetooth, a short-range communication technology";
};
config = mkIf cfg.enable {
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
# frontend
services.blueman.enable = true;
hm.services.blueman-applet.enable = true;
};
}

View file

@ -33,7 +33,16 @@ in {
]; ];
aliases = { aliases = {
graph = ''log --graph --color --pretty=format:"%C(yellow)%H%C(green)%d%C(reset)%n%x20%cd%n%x20%cn%x20(%ce)%n%x20%s%n"''; ranked-authors = "!git authors | sort | uniq -c | sort -n";
emails = ''
!git log --format="%aE" | sort -u
'';
email-domains = ''
!git log --format="%aE" | awk -F'@' '{print $2}' | sort -u
'';
graph = ''
log --graph --color --pretty=format:"%C(yellow)%H%C(green)%d%C(reset)%n%x20%cd%n%x20%cn%x20(%ce)%n%x20%s%n"
'';
}; };
extraConfig = { extraConfig = {

View file

@ -6,11 +6,11 @@ let
in { in {
options.modules.software.distractions.discord = { options.modules.software.distractions.discord = {
enable = mkEnableOption "Enable discord, a social messaging app"; enable = mkEnableOption "Enable discord, a social messaging app";
vesktop = mkEnableOption "Use vesktop, an alternative discord client."; armcord = mkEnableOption "Use armcord, an alternative discord client.";
}; };
config = mkIf cfg.enable (mkMerge [ config = mkIf cfg.enable (mkMerge [
(mkIf (!cfg.vesktop) { (mkIf (!cfg.armcord) {
user.packages = let user.packages = let
flags = flags =
[ [
@ -36,8 +36,8 @@ in {
}); });
in [ discord ]; in [ discord ];
}) })
(mkIf cfg.vesktop { (mkIf cfg.armcord {
user.packages = with pkgs; [ vesktop ]; user.packages = with pkgs; [ armcord ];
}) })
]); ]);
} }

View file

@ -10,21 +10,11 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.steam.enable = true; programs.steam.enable = true;
# optimize linux system performance on demand
# https://github.com/FeralInteractive/gamemode
user.extraGroups = [ "gamemode" ];
programs.gamemode = { programs.gamemode = {
enable = true; enable = true;
enableRenice = true; enableRenice = true;
settings = { 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 = { programs.gamescope = {
enable = true; enable = true;
capSysNice = true; capSysNice = true;
@ -33,7 +23,6 @@ in {
enable = true; enable = true;
args = [ "-W 1920" "-H 1080" "-r 60" "--expose-wayland" "-e" ]; args = [ "-W 1920" "-H 1080" "-r 60" "--expose-wayland" "-e" ];
}; };
user.packages = [ pkgs.protontricks pkgs.steam-run ]; user.packages = [ pkgs.protontricks pkgs.steam-run ];
}; };
} }

View file

@ -33,11 +33,5 @@ with lib.my;
trusted-users = users; trusted-users = users;
allowed-users = users; allowed-users = users;
}; };
users.users.root = {
packages = [ pkgs.shadow ];
shell = pkgs.shadow;
hashedPassword = "!";
};
}; };
} }