Compare commits
10 Commits
66e7dab5aa
...
92a41608af
Author | SHA1 | Date | |
---|---|---|---|
92a41608af | |||
8dc7bf18d3 | |||
ff91127e85 | |||
3e7c636902 | |||
b65a4dbfcb | |||
57ced606da | |||
bd68ccda65 | |||
e3b7f53837 | |||
003c30efa3 | |||
dfd6c1d42b |
114
flake.lock
114
flake.lock
@ -50,11 +50,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726248336,
|
||||
"narHash": "sha256-e7gRQHB6dnvzjBZuAaWOO8adYZLodoxFir9YI0TyW6M=",
|
||||
"lastModified": 1726952766,
|
||||
"narHash": "sha256-w/1jB99f0eaQp5hVbJgkUl/PTrUN/XGxRVKBQZlZ43A=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "f43f7397b3eec7a047783d384afe1faddebb6761",
|
||||
"rev": "a8b5d65ffe5c987dc7ab790588d011005e440d58",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -136,11 +136,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726325969,
|
||||
"narHash": "sha256-Mlw7009cdFry9OHpS6jy294lXhb+gcRa0iS2hYhkC6s=",
|
||||
"lastModified": 1726842196,
|
||||
"narHash": "sha256-u9h03JQUuQJ607xmti9F9Eh6E96kKUAGP+aXWgwm70o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "3632080c41d7a657995807689a08ef6c4bcb2c72",
|
||||
"rev": "51994df8ba24d5db5459ccf17b6494643301ad28",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -158,11 +158,11 @@
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726036322,
|
||||
"narHash": "sha256-9Hwl4lzB5yFah00OaXSMDPDubCy99wtLgsYxMVpMwlM=",
|
||||
"lastModified": 1726900127,
|
||||
"narHash": "sha256-v3r7yJY8YE4HAzD5DXOxLkzj8YZKQ0xuccp9yppGW1U=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "3e50a3c915882f07cb3f6c246f09febc4ad36c3e",
|
||||
"rev": "18eefba7fd0bf03e115785948758a44125a9fd68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -182,11 +182,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726362895,
|
||||
"narHash": "sha256-I4fEe6Qx+BTcc202zAy0R07a02vTV328UQXOIWLUjwY=",
|
||||
"lastModified": 1726960811,
|
||||
"narHash": "sha256-dsXtISWmjHReplx9V18iCoEEKU9RcwmZJrIq0Jkzu3I=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-firefox-nightly",
|
||||
"rev": "e2196acad3e466b26cb1bb03b9c93513ee5397b8",
|
||||
"rev": "e202a3f7dd9c9d1016e47124bea4f44e7a551284",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -298,11 +298,11 @@
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -466,11 +466,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726036828,
|
||||
"narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=",
|
||||
"lastModified": 1726902823,
|
||||
"narHash": "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "8a1671642826633586d12ac3158e463c7a50a112",
|
||||
"rev": "14929f7089268481d86b83ed31ffd88713dcd415",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -486,11 +486,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726357542,
|
||||
"narHash": "sha256-p4OrJL2weh0TRtaeu1fmNYP6+TOp/W2qdaIJxxQay4c=",
|
||||
"lastModified": 1726985855,
|
||||
"narHash": "sha256-NJPGK030Y3qETpWBhj9oobDQRbXdXOPxtu+YgGvZ84o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f",
|
||||
"rev": "04213d1ce4221f5d9b40bcee30706ce9a91d148d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -508,11 +508,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726031155,
|
||||
"narHash": "sha256-QUv5cxy40HRC7vJz9JjbVEmlHT+q1VIuikNJUQZHre0=",
|
||||
"lastModified": 1726902390,
|
||||
"narHash": "sha256-ESAD6AkxsQdV/j5ZBcO4Vg94J7Xd0nfpiEZpJtwSEhg=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "90c68db7d9430bd30e8c5096a0e3dc078b410050",
|
||||
"rev": "faf4c746c068dd8e41b1fa5f18beeabd34d4064c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -552,11 +552,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725797487,
|
||||
"narHash": "sha256-1NqTS6PePeoLVH8UY6poIoxlNq1Hhgn7RZs+OT8b2wQ=",
|
||||
"lastModified": 1726600542,
|
||||
"narHash": "sha256-4ZP8rYtad1Z0LY3vZ1eYSRUzqPd3x7K0j7SpP3vReWc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lib-aggregate",
|
||||
"rev": "3c180ce6583583285ef1b105cbc1667ba00c3e8d",
|
||||
"rev": "e0cc0b05b0296fdc52fa683d47a3470dfe4f79ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -626,11 +626,11 @@
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723948777,
|
||||
"narHash": "sha256-rX14joTzvRUiCfmCT0LUMV3Mxi79VJANcKB/kkh7Qys=",
|
||||
"lastModified": 1726716330,
|
||||
"narHash": "sha256-mIuOP4I51eFLquRaxMKx67pHmhatZrcVPjfHL98v/M8=",
|
||||
"owner": "oxalica",
|
||||
"repo": "nil",
|
||||
"rev": "4f3081d1f10bb61f197b780e67f426e53f818691",
|
||||
"rev": "c8e8ce72442a164d89d3fdeaae0bcc405f8c015a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -664,11 +664,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1725885300,
|
||||
"narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=",
|
||||
"lastModified": 1726905744,
|
||||
"narHash": "sha256-xyNtG5C+xvfsnOVEamFe9zCCnuNwk93K/TlFC/4DmCI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e",
|
||||
"rev": "b493dfd4a8cf9552932179e56ff3b5819a9b8381",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -679,11 +679,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1726062873,
|
||||
"narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=",
|
||||
"lastModified": 1726755586,
|
||||
"narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f",
|
||||
"rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -695,11 +695,11 @@
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1725757153,
|
||||
"narHash": "sha256-c1a6iLmCVPFI9EUVMrBN8xdmFxFXEjcVwiTSVmqajOs=",
|
||||
"lastModified": 1726362065,
|
||||
"narHash": "sha256-4h15WKdrs9zf6DGaeeV7ntU/pHHGkH6geYt1QBW0CP4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "68584f89dd0eb16fea5d80ae127f3f681f6a5df7",
|
||||
"rev": "9db4db09d82e4b2207bfa7f1e747a4f49d214555",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -726,11 +726,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1726062873,
|
||||
"narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=",
|
||||
"lastModified": 1726755586,
|
||||
"narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f",
|
||||
"rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -742,11 +742,11 @@
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1726378554,
|
||||
"narHash": "sha256-cv3I+OdFFVTA+ONaPsC299NJW4205cJKT5wjhYl0Dso=",
|
||||
"lastModified": 1726995785,
|
||||
"narHash": "sha256-qpY9TCjtyhAeHa64NCyo3SoaHslxrrxQiMOPPY5lXEM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"rev": "cab24868b269b3abf60dd3cc63c168c844bec778",
|
||||
"rev": "474ea929fade537a0ba4f1e5b73abc0d157a293f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -804,11 +804,11 @@
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1725985110,
|
||||
"narHash": "sha256-0HKj+JI6rtxaE6Kzcd6HyFNbEFJRsLy5DoNgVF1pyRM=",
|
||||
"lastModified": 1726443025,
|
||||
"narHash": "sha256-nCmG4NJpwI0IoIlYlwtDwVA49yuspA2E6OhfCOmiArQ=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "bcc708992104c2059f310fbc3ac00bfc377f9ea8",
|
||||
"rev": "94b526fc86eaa0e90fb4d54a5ba6313aa1e9b269",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -847,11 +847,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722824458,
|
||||
"narHash": "sha256-2k3/geD5Yh8JT1nrGaRycje5kB0DkvQA/OUZoel1bIU=",
|
||||
"lastModified": 1726453838,
|
||||
"narHash": "sha256-pupsow4L79SBfNwT6vh/5RAbVZuhngIA0RTCZksXmZY=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "a8a937c304e62a5098c6276c9cdf65c19a43b1a5",
|
||||
"rev": "ca2e79cd22625d214b8437c2c4080ce79bd9f7d2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -910,11 +910,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726102228,
|
||||
"narHash": "sha256-9WRTBxEq2P1lqFGXcVAlXx5Eh95rmvHM6/x13fVcUAY=",
|
||||
"lastModified": 1726970904,
|
||||
"narHash": "sha256-GVE2yM3Sn18qkUTZHZ8Hmwwm/YSu+oYp3LM106+10UU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "srvos",
|
||||
"rev": "b9fae7b4351851d050333df6cef1b02b01b2ca2d",
|
||||
"rev": "c7ffab6f1dd5acb2a2528842678f61c7b1cebe59",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -1060,11 +1060,11 @@
|
||||
},
|
||||
"locked": {
|
||||
"dir": "nix",
|
||||
"lastModified": 1726359931,
|
||||
"narHash": "sha256-yGcSRN6T7YgRI2k0LpcKwuJQ+QO/YvzBVeUaWtlMN3U=",
|
||||
"lastModified": 1726976812,
|
||||
"narHash": "sha256-7LHyNF/IATpeDg+fLH4LnwGbK3IymdNHTPRNLXnIoZs=",
|
||||
"owner": "wez",
|
||||
"repo": "wezterm",
|
||||
"rev": "1eddc9157f51577d7984dd6aec3b780ecec1d4a0",
|
||||
"rev": "1c4fdd3f7131785d0afaed08bed6cf1856f84328",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -88,6 +88,9 @@
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# NOTE: enable this to make hyprland work
|
||||
# hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||
|
||||
lanzaboote.url = "github:nix-community/lanzaboote";
|
||||
lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
|
@ -90,7 +90,7 @@
|
||||
};
|
||||
# Fonts - make web pages follow system font
|
||||
"browser.display.use_document_fonts" = {
|
||||
Value = 0;
|
||||
Value = 1;
|
||||
Status = "locked";
|
||||
};
|
||||
};
|
||||
@ -189,10 +189,6 @@
|
||||
"media.rdd-ffmpeg.enabled" = true;
|
||||
"widget.dmabuf.force-enabled" = true;
|
||||
"svg.context-properties.content.enabled" = true;
|
||||
"gnomeTheme.hideSingleTab" = true;
|
||||
"gnomeTheme.bookmarksToolbarUnderTabs" = true;
|
||||
"gnomeTheme.normalWidthTabs" = false;
|
||||
"gnomeTheme.tabsAsHeaderbar" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -4,8 +4,7 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
options.snowflake.desktop.wezterm.enable = lib.mkEnableOption "Enable wezterm home configuration";
|
||||
|
||||
config = lib.mkIf config.snowflake.desktop.wezterm.enable {
|
||||
@ -37,6 +36,8 @@
|
||||
color_scheme = "ayu",
|
||||
use_fancy_tab_bar = false,
|
||||
window_decorations = "NONE",
|
||||
|
||||
check_for_updates = false,
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
@ -42,9 +42,7 @@
|
||||
initrd.verbose = false;
|
||||
# Default to the latest kernel package.
|
||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
# Force performance policy for Active State Performance Management.
|
||||
kernelParams = [
|
||||
"pcie_aspm.policy=performance"
|
||||
"nmi_watchdog=0"
|
||||
];
|
||||
|
||||
|
@ -67,8 +67,14 @@
|
||||
warn-dirty = false;
|
||||
|
||||
# Add cache substituters to allow fetching cached builds.
|
||||
trusted-substituters = ["https://nix-community.cachix.org"];
|
||||
trusted-public-keys = ["nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="];
|
||||
trusted-substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
"https://hyprland.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -4,7 +4,10 @@
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.snowflake.desktop.enable = lib.mkEnableOption "Enable core Desktop Environment configuration";
|
||||
options.snowflake.desktop = {
|
||||
enable = lib.mkEnableOption "Enable core Desktop Environment configuration";
|
||||
fingerprint.enable = lib.mkEnableOption "Enable fingerprint support for Desktop Environments";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.snowflake.desktop.enable {
|
||||
snowflake = {
|
||||
@ -32,7 +35,6 @@
|
||||
vaapiIntel
|
||||
libvdpau-va-gl
|
||||
vaapiVdpau
|
||||
intel-ocl
|
||||
intel-media-driver
|
||||
];
|
||||
};
|
||||
@ -41,6 +43,12 @@
|
||||
LIBVA_DRIVER_NAME = "iHD";
|
||||
};
|
||||
|
||||
# Enable fingerprint authentication.
|
||||
# Requires fingerprint registered using `fprint-enroll` to work.
|
||||
services.fprintd.enable = true;
|
||||
services.libinput.enable = true;
|
||||
|
||||
services.xserver.enable = true;
|
||||
# Prevents xterm from being installed.
|
||||
# Prefer installing a custom terminal emulator instead.
|
||||
services.xserver.excludePackages = [pkgs.xterm];
|
||||
@ -53,6 +61,12 @@
|
||||
# Additional configuration will be done through individual
|
||||
# desktop environment configurations.
|
||||
xdg.portal.enable = true;
|
||||
# Additional configuration for XDG Portal.
|
||||
xdg.portal.wlr.enable = true;
|
||||
xdg.portal.xdgOpenUsePortal = true;
|
||||
|
||||
# Add bibata cursors everywhere because it looks cool.
|
||||
environment.systemPackages = [pkgs.bibata-cursors];
|
||||
|
||||
# Set environment variables for the system.
|
||||
environment.variables = {
|
||||
|
86
modules/nixos/desktop/gnome/default.nix
Normal file
86
modules/nixos/desktop/gnome/default.nix
Normal file
@ -0,0 +1,86 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.snowflake.desktop.gnome = {
|
||||
enable = lib.mkEnableOption "Enable the Gnome Desktop Environment";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.snowflake.desktop.gnome.enable {
|
||||
services.xserver = {
|
||||
displayManager.gdm = {
|
||||
enable = true;
|
||||
wayland = true;
|
||||
};
|
||||
desktopManager.gnome = {
|
||||
enable = true;
|
||||
extraGSettingsOverridePackages = [
|
||||
pkgs.nautilus-open-any-terminal
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.udev.packages = [pkgs.gnome-settings-daemon];
|
||||
|
||||
# Remove bloatware that we do not require.
|
||||
environment = {
|
||||
gnome.excludePackages = with pkgs; [
|
||||
atomix # puzzle game
|
||||
cheese # webcam tool
|
||||
epiphany # web browser
|
||||
evince # document viewer
|
||||
geary # email reader
|
||||
gedit
|
||||
gnome-characters
|
||||
gnome-connections
|
||||
gnome-console
|
||||
gnome-contacts
|
||||
gnome-font-viewer
|
||||
gnome-initial-setup
|
||||
gnome-maps
|
||||
gnome-music
|
||||
gnome-photos
|
||||
gnome-shell-extensions
|
||||
gnome-text-editor
|
||||
gnome-tour
|
||||
hitori # sudoku game
|
||||
iagno # go game
|
||||
snapshot
|
||||
tali # poker game
|
||||
totem # video player
|
||||
yelp # Help view
|
||||
];
|
||||
|
||||
systemPackages = with pkgs; [
|
||||
ffmpegthumbnailer
|
||||
adwaita-icon-theme
|
||||
bibata-cursors
|
||||
dconf-editor
|
||||
gnome-tweaks
|
||||
nautilus-python
|
||||
nautilus-open-any-terminal
|
||||
wl-clipboard
|
||||
];
|
||||
};
|
||||
|
||||
programs.dconf.profiles = {
|
||||
gdm.databases = [
|
||||
{
|
||||
settings = {
|
||||
"org/gnome/mutter".experimental-features = ["scale-monitor-framebuffer"];
|
||||
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
|
||||
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
snowflake.user.extraGroups = [
|
||||
"audio"
|
||||
"input"
|
||||
"video"
|
||||
];
|
||||
};
|
||||
}
|
39
modules/nixos/desktop/hyprland/default.nix
Normal file
39
modules/nixos/desktop/hyprland/default.nix
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.snowflake.desktop.hyprland = {
|
||||
enable = lib.mkEnableOption "Enable the Hyprland Desktop Environment";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.snowflake.desktop.hyprland.enable {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
programs.hyprlock.enable = true;
|
||||
|
||||
environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1";
|
||||
environment.systemPackages = with pkgs; [
|
||||
bibata-cursors
|
||||
mako
|
||||
wofi
|
||||
];
|
||||
|
||||
security.polkit.enable = true;
|
||||
security.pam.services.hyprlock = {
|
||||
fprintAuth = false;
|
||||
};
|
||||
|
||||
snowflake.user.extraGroups = [
|
||||
"audio"
|
||||
"input"
|
||||
"video"
|
||||
];
|
||||
};
|
||||
}
|
@ -10,21 +10,12 @@
|
||||
|
||||
config = lib.mkIf config.snowflake.desktop.kde.enable {
|
||||
services = {
|
||||
libinput.enable = true;
|
||||
|
||||
xserver = {
|
||||
enable = true;
|
||||
};
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
wayland.compositor = "kwin";
|
||||
};
|
||||
desktopManager.plasma6.enable = true;
|
||||
|
||||
# Enable fingerprint authentication.
|
||||
# Requires fingerprint registered using `fprint-enroll` to work.
|
||||
fprintd.enable = true;
|
||||
};
|
||||
|
||||
# Remove bloatware that we do not require.
|
||||
@ -39,12 +30,9 @@
|
||||
# SDDM does not work well with fingerprint authentication.
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
|
||||
# Additional configuration for XDG Portal.
|
||||
xdg.portal.wlr.enable = true;
|
||||
xdg.portal.xdgOpenUsePortal = true;
|
||||
xdg.portal.extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-kde
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
|
||||
snowflake.user.extraGroups = [
|
||||
|
@ -2,7 +2,7 @@ _: _self: super: let
|
||||
version = "0.29.4";
|
||||
in {
|
||||
netbird = super.netbird.override {
|
||||
buildGoModule = args:
|
||||
buildGo123Module = args:
|
||||
super.buildGo123Module (
|
||||
args
|
||||
// {
|
||||
|
@ -25,11 +25,8 @@
|
||||
fileSystems = ["/"];
|
||||
};
|
||||
|
||||
services.system76-scheduler.enable = true;
|
||||
services.system76-scheduler.settings.cfsProfiles.enable = true;
|
||||
# Power management, enable powertop and thermald.
|
||||
powerManagement.powertop.enable = true;
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";
|
||||
services.thermald.enable = true;
|
||||
|
||||
# TODO: remove, temporary for mongoDB build
|
||||
@ -54,6 +51,7 @@
|
||||
core.docker.storageDriver = "btrfs";
|
||||
|
||||
desktop.enable = true;
|
||||
desktop.fingerprint.enable = true;
|
||||
desktop.kde.enable = true;
|
||||
|
||||
gaming.steam.enable = true;
|
||||
|
@ -20,13 +20,19 @@
|
||||
"iwlwifi"
|
||||
"xe"
|
||||
];
|
||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_testing;
|
||||
kernelPackages = lib.mkForce pkgs.linuxPackages_testing;
|
||||
kernelParams = [
|
||||
# NixOS produces many wakeups per second, which is bad for battery life.
|
||||
# This disables the timer tick on the last 7 cores.
|
||||
"nohz_full=14-21"
|
||||
"i915.force_probe=!7d55"
|
||||
"xe.force_probe=7d55"
|
||||
"initcall_blacklist=simpledrm_platform_driver_init"
|
||||
# This solves an issue with resume after suspend where the SSD goes into
|
||||
# a read-only state. We trust some random, obscure Arch wiki article over
|
||||
# actually trying to figure out why it might be so.
|
||||
# ref: https://wiki.archlinux.org/title/Solid_state_drive/NVMe#Controller_failure_due_to_broken_suspend_support
|
||||
"iommu=soft"
|
||||
# "resume_offset=2465529"
|
||||
];
|
||||
# resumeDevice = "/dev/disk/by-uuid/870fde90-a91a-4554-8b1c-d5702c789f4d";
|
||||
|
Loading…
Reference in New Issue
Block a user