Compare commits

..

10 Commits

Author SHA1 Message Date
92a41608af
flake: add hyprland input as comment
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-23 11:52:12 +05:30
8dc7bf18d3
chore: remove system76-scheduler and fix resume
* system76-scheduler was unused. Or it did not really make much of a difference
  over the default scheduler.
* added `iommu=soft` to kernel param to make the ssd work fine after suspend.
  This might be related to the pcie_aspm policy we had set before. I need to test
  if removing the aspm policy has fixed this issue.

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-23 11:48:19 +05:30
ff91127e85
chore: disable check for updates in wezterm
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-23 11:43:29 +05:30
3e7c636902
chore: add hyprland cachix substituters
It's 2024, who wants to build software on their own systems?

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-23 11:42:22 +05:30
b65a4dbfcb
chore: remove pcie_aspm policy
Umm, this is a hard one as to why it was added in the first place. I think
someone had told me about it, but it seems like it's not really required, and
not recommended to be run on systems that do not support it by default.

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-23 11:41:01 +05:30
57ced606da
chore: set buildGoModule to go-1.23 for netbird
New netbird version requires go-1.23, and the patch to make
buildGoModules default to 1.23 is not yet in unstable

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-23 11:38:09 +05:30
bd68ccda65
feat: add hyprland, gnome configurations and changes to default
* add gnome and hyprland base setup
* remove unused intel-ocl from graphics
* move xdg-portal configuration to desktop environments

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-23 11:34:09 +05:30
e3b7f53837
chore: make firefox changes
* remove gnome theme configuration
* allow firefox to use document fonts intead of system fonts

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-23 11:29:45 +05:30
003c30efa3
chore: update flake.lock
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-22 16:45:47 +05:30
dfd6c1d42b
chore: reorganize desktop environment configuration
Cleanup existing desktop environment configuration to allow adding more
desktop environments with shared configs.

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-22 16:45:32 +05:30
13 changed files with 223 additions and 88 deletions

View File

@ -50,11 +50,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1726248336, "lastModified": 1726952766,
"narHash": "sha256-e7gRQHB6dnvzjBZuAaWOO8adYZLodoxFir9YI0TyW6M=", "narHash": "sha256-w/1jB99f0eaQp5hVbJgkUl/PTrUN/XGxRVKBQZlZ43A=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "f43f7397b3eec7a047783d384afe1faddebb6761", "rev": "a8b5d65ffe5c987dc7ab790588d011005e440d58",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -136,11 +136,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726325969, "lastModified": 1726842196,
"narHash": "sha256-Mlw7009cdFry9OHpS6jy294lXhb+gcRa0iS2hYhkC6s=", "narHash": "sha256-u9h03JQUuQJ607xmti9F9Eh6E96kKUAGP+aXWgwm70o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "3632080c41d7a657995807689a08ef6c4bcb2c72", "rev": "51994df8ba24d5db5459ccf17b6494643301ad28",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -158,11 +158,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1726036322, "lastModified": 1726900127,
"narHash": "sha256-9Hwl4lzB5yFah00OaXSMDPDubCy99wtLgsYxMVpMwlM=", "narHash": "sha256-v3r7yJY8YE4HAzD5DXOxLkzj8YZKQ0xuccp9yppGW1U=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "3e50a3c915882f07cb3f6c246f09febc4ad36c3e", "rev": "18eefba7fd0bf03e115785948758a44125a9fd68",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -182,11 +182,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726362895, "lastModified": 1726960811,
"narHash": "sha256-I4fEe6Qx+BTcc202zAy0R07a02vTV328UQXOIWLUjwY=", "narHash": "sha256-dsXtISWmjHReplx9V18iCoEEKU9RcwmZJrIq0Jkzu3I=",
"owner": "nix-community", "owner": "nix-community",
"repo": "flake-firefox-nightly", "repo": "flake-firefox-nightly",
"rev": "e2196acad3e466b26cb1bb03b9c93513ee5397b8", "rev": "e202a3f7dd9c9d1016e47124bea4f44e7a551284",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -298,11 +298,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1726560853,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -466,11 +466,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726036828, "lastModified": 1726902823,
"narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=", "narHash": "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "8a1671642826633586d12ac3158e463c7a50a112", "rev": "14929f7089268481d86b83ed31ffd88713dcd415",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -486,11 +486,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726357542, "lastModified": 1726985855,
"narHash": "sha256-p4OrJL2weh0TRtaeu1fmNYP6+TOp/W2qdaIJxxQay4c=", "narHash": "sha256-NJPGK030Y3qETpWBhj9oobDQRbXdXOPxtu+YgGvZ84o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f", "rev": "04213d1ce4221f5d9b40bcee30706ce9a91d148d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -508,11 +508,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726031155, "lastModified": 1726902390,
"narHash": "sha256-QUv5cxy40HRC7vJz9JjbVEmlHT+q1VIuikNJUQZHre0=", "narHash": "sha256-ESAD6AkxsQdV/j5ZBcO4Vg94J7Xd0nfpiEZpJtwSEhg=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "90c68db7d9430bd30e8c5096a0e3dc078b410050", "rev": "faf4c746c068dd8e41b1fa5f18beeabd34d4064c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -552,11 +552,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1725797487, "lastModified": 1726600542,
"narHash": "sha256-1NqTS6PePeoLVH8UY6poIoxlNq1Hhgn7RZs+OT8b2wQ=", "narHash": "sha256-4ZP8rYtad1Z0LY3vZ1eYSRUzqPd3x7K0j7SpP3vReWc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lib-aggregate", "repo": "lib-aggregate",
"rev": "3c180ce6583583285ef1b105cbc1667ba00c3e8d", "rev": "e0cc0b05b0296fdc52fa683d47a3470dfe4f79ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -626,11 +626,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1723948777, "lastModified": 1726716330,
"narHash": "sha256-rX14joTzvRUiCfmCT0LUMV3Mxi79VJANcKB/kkh7Qys=", "narHash": "sha256-mIuOP4I51eFLquRaxMKx67pHmhatZrcVPjfHL98v/M8=",
"owner": "oxalica", "owner": "oxalica",
"repo": "nil", "repo": "nil",
"rev": "4f3081d1f10bb61f197b780e67f426e53f818691", "rev": "c8e8ce72442a164d89d3fdeaae0bcc405f8c015a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -664,11 +664,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1725885300, "lastModified": 1726905744,
"narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=", "narHash": "sha256-xyNtG5C+xvfsnOVEamFe9zCCnuNwk93K/TlFC/4DmCI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e", "rev": "b493dfd4a8cf9552932179e56ff3b5819a9b8381",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -679,11 +679,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1726062873, "lastModified": 1726755586,
"narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=", "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f", "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -695,11 +695,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1725757153, "lastModified": 1726362065,
"narHash": "sha256-c1a6iLmCVPFI9EUVMrBN8xdmFxFXEjcVwiTSVmqajOs=", "narHash": "sha256-4h15WKdrs9zf6DGaeeV7ntU/pHHGkH6geYt1QBW0CP4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "68584f89dd0eb16fea5d80ae127f3f681f6a5df7", "rev": "9db4db09d82e4b2207bfa7f1e747a4f49d214555",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -726,11 +726,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1726062873, "lastModified": 1726755586,
"narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=", "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f", "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -742,11 +742,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1726378554, "lastModified": 1726995785,
"narHash": "sha256-cv3I+OdFFVTA+ONaPsC299NJW4205cJKT5wjhYl0Dso=", "narHash": "sha256-qpY9TCjtyhAeHa64NCyo3SoaHslxrrxQiMOPPY5lXEM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "cab24868b269b3abf60dd3cc63c168c844bec778", "rev": "474ea929fade537a0ba4f1e5b73abc0d157a293f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -804,11 +804,11 @@
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725985110, "lastModified": 1726443025,
"narHash": "sha256-0HKj+JI6rtxaE6Kzcd6HyFNbEFJRsLy5DoNgVF1pyRM=", "narHash": "sha256-nCmG4NJpwI0IoIlYlwtDwVA49yuspA2E6OhfCOmiArQ=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "bcc708992104c2059f310fbc3ac00bfc377f9ea8", "rev": "94b526fc86eaa0e90fb4d54a5ba6313aa1e9b269",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -847,11 +847,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722824458, "lastModified": 1726453838,
"narHash": "sha256-2k3/geD5Yh8JT1nrGaRycje5kB0DkvQA/OUZoel1bIU=", "narHash": "sha256-pupsow4L79SBfNwT6vh/5RAbVZuhngIA0RTCZksXmZY=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "a8a937c304e62a5098c6276c9cdf65c19a43b1a5", "rev": "ca2e79cd22625d214b8437c2c4080ce79bd9f7d2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -910,11 +910,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726102228, "lastModified": 1726970904,
"narHash": "sha256-9WRTBxEq2P1lqFGXcVAlXx5Eh95rmvHM6/x13fVcUAY=", "narHash": "sha256-GVE2yM3Sn18qkUTZHZ8Hmwwm/YSu+oYp3LM106+10UU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "srvos", "repo": "srvos",
"rev": "b9fae7b4351851d050333df6cef1b02b01b2ca2d", "rev": "c7ffab6f1dd5acb2a2528842678f61c7b1cebe59",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1060,11 +1060,11 @@
}, },
"locked": { "locked": {
"dir": "nix", "dir": "nix",
"lastModified": 1726359931, "lastModified": 1726976812,
"narHash": "sha256-yGcSRN6T7YgRI2k0LpcKwuJQ+QO/YvzBVeUaWtlMN3U=", "narHash": "sha256-7LHyNF/IATpeDg+fLH4LnwGbK3IymdNHTPRNLXnIoZs=",
"owner": "wez", "owner": "wez",
"repo": "wezterm", "repo": "wezterm",
"rev": "1eddc9157f51577d7984dd6aec3b780ecec1d4a0", "rev": "1c4fdd3f7131785d0afaed08bed6cf1856f84328",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -88,6 +88,9 @@
home-manager.url = "github:nix-community/home-manager"; home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; 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.url = "github:nix-community/lanzaboote";
lanzaboote.inputs.nixpkgs.follows = "nixpkgs"; lanzaboote.inputs.nixpkgs.follows = "nixpkgs";

View File

@ -90,7 +90,7 @@
}; };
# Fonts - make web pages follow system font # Fonts - make web pages follow system font
"browser.display.use_document_fonts" = { "browser.display.use_document_fonts" = {
Value = 0; Value = 1;
Status = "locked"; Status = "locked";
}; };
}; };
@ -189,10 +189,6 @@
"media.rdd-ffmpeg.enabled" = true; "media.rdd-ffmpeg.enabled" = true;
"widget.dmabuf.force-enabled" = true; "widget.dmabuf.force-enabled" = true;
"svg.context-properties.content.enabled" = true; "svg.context-properties.content.enabled" = true;
"gnomeTheme.hideSingleTab" = true;
"gnomeTheme.bookmarksToolbarUnderTabs" = true;
"gnomeTheme.normalWidthTabs" = false;
"gnomeTheme.tabsAsHeaderbar" = false;
}; };
}; };
}; };

View File

@ -4,8 +4,7 @@
lib, lib,
pkgs, pkgs,
... ...
}: }: {
{
options.snowflake.desktop.wezterm.enable = lib.mkEnableOption "Enable wezterm home configuration"; options.snowflake.desktop.wezterm.enable = lib.mkEnableOption "Enable wezterm home configuration";
config = lib.mkIf config.snowflake.desktop.wezterm.enable { config = lib.mkIf config.snowflake.desktop.wezterm.enable {
@ -37,6 +36,8 @@
color_scheme = "ayu", color_scheme = "ayu",
use_fancy_tab_bar = false, use_fancy_tab_bar = false,
window_decorations = "NONE", window_decorations = "NONE",
check_for_updates = false,
} }
''; '';
}; };

View File

@ -42,9 +42,7 @@
initrd.verbose = false; initrd.verbose = false;
# Default to the latest kernel package. # Default to the latest kernel package.
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
# Force performance policy for Active State Performance Management.
kernelParams = [ kernelParams = [
"pcie_aspm.policy=performance"
"nmi_watchdog=0" "nmi_watchdog=0"
]; ];

View File

@ -67,8 +67,14 @@
warn-dirty = false; warn-dirty = false;
# Add cache substituters to allow fetching cached builds. # Add cache substituters to allow fetching cached builds.
trusted-substituters = ["https://nix-community.cachix.org"]; trusted-substituters = [
trusted-public-keys = ["nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="]; "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="
];
}; };
}; };
}; };

View File

@ -4,7 +4,10 @@
pkgs, 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 { config = lib.mkIf config.snowflake.desktop.enable {
snowflake = { snowflake = {
@ -32,7 +35,6 @@
vaapiIntel vaapiIntel
libvdpau-va-gl libvdpau-va-gl
vaapiVdpau vaapiVdpau
intel-ocl
intel-media-driver intel-media-driver
]; ];
}; };
@ -41,6 +43,12 @@
LIBVA_DRIVER_NAME = "iHD"; 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. # Prevents xterm from being installed.
# Prefer installing a custom terminal emulator instead. # Prefer installing a custom terminal emulator instead.
services.xserver.excludePackages = [pkgs.xterm]; services.xserver.excludePackages = [pkgs.xterm];
@ -53,6 +61,12 @@
# Additional configuration will be done through individual # Additional configuration will be done through individual
# desktop environment configurations. # desktop environment configurations.
xdg.portal.enable = true; 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. # Set environment variables for the system.
environment.variables = { environment.variables = {

View 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"
];
};
}

View 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"
];
};
}

View File

@ -10,21 +10,12 @@
config = lib.mkIf config.snowflake.desktop.kde.enable { config = lib.mkIf config.snowflake.desktop.kde.enable {
services = { services = {
libinput.enable = true;
xserver = {
enable = true;
};
displayManager.sddm = { displayManager.sddm = {
enable = true; enable = true;
wayland.enable = true; wayland.enable = true;
wayland.compositor = "kwin"; wayland.compositor = "kwin";
}; };
desktopManager.plasma6.enable = true; 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. # Remove bloatware that we do not require.
@ -39,12 +30,9 @@
# SDDM does not work well with fingerprint authentication. # SDDM does not work well with fingerprint authentication.
security.pam.services.login.fprintAuth = false; 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.portal.extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-kde xdg-desktop-portal-kde
xdg-desktop-portal-gtk
]; ];
snowflake.user.extraGroups = [ snowflake.user.extraGroups = [

View File

@ -2,7 +2,7 @@ _: _self: super: let
version = "0.29.4"; version = "0.29.4";
in { in {
netbird = super.netbird.override { netbird = super.netbird.override {
buildGoModule = args: buildGo123Module = args:
super.buildGo123Module ( super.buildGo123Module (
args args
// { // {

View File

@ -25,11 +25,8 @@
fileSystems = ["/"]; fileSystems = ["/"];
}; };
services.system76-scheduler.enable = true;
services.system76-scheduler.settings.cfsProfiles.enable = true;
# Power management, enable powertop and thermald. # Power management, enable powertop and thermald.
powerManagement.powertop.enable = true; powerManagement.powertop.enable = true;
powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";
services.thermald.enable = true; services.thermald.enable = true;
# TODO: remove, temporary for mongoDB build # TODO: remove, temporary for mongoDB build
@ -54,6 +51,7 @@
core.docker.storageDriver = "btrfs"; core.docker.storageDriver = "btrfs";
desktop.enable = true; desktop.enable = true;
desktop.fingerprint.enable = true;
desktop.kde.enable = true; desktop.kde.enable = true;
gaming.steam.enable = true; gaming.steam.enable = true;

View File

@ -20,13 +20,19 @@
"iwlwifi" "iwlwifi"
"xe" "xe"
]; ];
kernelPackages = lib.mkDefault pkgs.linuxPackages_testing; kernelPackages = lib.mkForce pkgs.linuxPackages_testing;
kernelParams = [ kernelParams = [
# NixOS produces many wakeups per second, which is bad for battery life. # NixOS produces many wakeups per second, which is bad for battery life.
# This disables the timer tick on the last 7 cores. # This disables the timer tick on the last 7 cores.
"nohz_full=14-21" "nohz_full=14-21"
"i915.force_probe=!7d55" "i915.force_probe=!7d55"
"xe.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" # "resume_offset=2465529"
]; ];
# resumeDevice = "/dev/disk/by-uuid/870fde90-a91a-4554-8b1c-d5702c789f4d"; # resumeDevice = "/dev/disk/by-uuid/870fde90-a91a-4554-8b1c-d5702c789f4d";