summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2026-03-12 13:01:28 -0400
committerFreya Murphy <freya@freyacat.org>2026-03-12 13:01:28 -0400
commitaf9286f525770ce196bbf66a2da4ca9be1d34c75 (patch)
tree161cb2ff0c129039dcf6b9389b9f64c6f3ba71c3 /system
parentthinkpad: get workin again (diff)
downloaddotfiles-nix-af9286f525770ce196bbf66a2da4ca9be1d34c75.tar.gz
dotfiles-nix-af9286f525770ce196bbf66a2da4ca9be1d34c75.tar.bz2
dotfiles-nix-af9286f525770ce196bbf66a2da4ca9be1d34c75.zip
refactor some stuff
Diffstat (limited to 'system')
-rw-r--r--system/default.nix16
-rw-r--r--system/desktop.nix21
-rw-r--r--system/desktops/hyprland.nix13
-rw-r--r--system/hardware.nix21
-rw-r--r--system/networking.nix11
-rw-r--r--system/sshd.nix2
-rw-r--r--system/virt/docker.nix14
7 files changed, 51 insertions, 47 deletions
diff --git a/system/default.nix b/system/default.nix
index 205f63a..9c66323 100644
--- a/system/default.nix
+++ b/system/default.nix
@@ -5,7 +5,9 @@
inputs,
system,
...
-}: {
+}: let
+ full = !config.minimal;
+in {
imports = [
inputs.home-manager.nixosModules.home-manager
./desktops
@@ -15,7 +17,6 @@
./bluetooth.nix
./desktop.nix
./fingerprint.nix
- ./hardware.nix
./networking.nix
./nvidia.nix
./sshd.nix
@@ -45,6 +46,13 @@
# load overlays
nixpkgs.overlays = [
(final: prev: import ../pkgs {inherit final prev;})
+ # hyprland
+ (_: _: inputs.hyprland.packages.${system})
+ (_: _: inputs.hyprland-plugins.packages.${system})
+ (_: _: inputs.hy3.packages.${system})
+ # misc
+ (_: _: inputs.talc.packages.${system})
+ (_: _: inputs.apple-fonts.packages.${system})
];
# set state version
@@ -118,7 +126,6 @@
};
# use the latest kernel
-
boot.kernelPackages = pkgs.linuxPackages_latest;
# sysrq
@@ -161,4 +168,7 @@
enable = true;
execWheelOnly = true;
};
+
+ # firmware
+ services.fwupd.enable = full;
}
diff --git a/system/desktop.nix b/system/desktop.nix
index 6eed43f..ac6a79d 100644
--- a/system/desktop.nix
+++ b/system/desktop.nix
@@ -6,6 +6,7 @@
}: let
inherit (lib) mkIf;
cfg = config.desktops;
+ full = !config.minimal;
in {
config = mkIf cfg.enable {
# nix-ld
@@ -13,15 +14,15 @@ in {
# appimage
programs.appimage = {
- enable = true;
+ enable = full;
binfmt = true;
};
# flatpak
- services.flatpak.enable = true;
+ services.flatpak.enable = full;
# services
- services.libinput.enable = true;
+ services.libinput.enable = config.desktops.wayland.enable;
# gtk portal?
programs.dconf.enable = true;
@@ -42,7 +43,7 @@ in {
# printing
services.printing = {
- enable = true;
+ enable = full;
drivers = with pkgs; [
brlaser
cnijfilter2
@@ -50,14 +51,14 @@ in {
];
};
services.avahi = {
- enable = true;
+ enable = full;
nssmdns4 = true;
openFirewall = true;
};
users.groups.lp.members = [config.user];
# secrets
- services.gnome.gnome-keyring.enable = true;
+ services.gnome.gnome-keyring.enable = full;
# system fonts
fonts.packages = with pkgs; [
@@ -65,6 +66,14 @@ in {
vista-fonts
];
+ # yubikey support
+ services = {
+ pcscd.enable = full;
+ udev.packages = with pkgs; [
+ yubikey-personalization
+ ];
+ };
+
unfreePackages = [
"corefonts"
"vista-fonts"
diff --git a/system/desktops/hyprland.nix b/system/desktops/hyprland.nix
index b0281a3..82ddf0e 100644
--- a/system/desktops/hyprland.nix
+++ b/system/desktops/hyprland.nix
@@ -1,8 +1,7 @@
{
- inputs,
- config,
lib,
- system,
+ config,
+ pkgs,
...
}: let
inherit (lib) mkIf;
@@ -12,8 +11,8 @@ in {
desktops.wayland.enable = true;
xdg.portal = {
- extraPortals = [
- inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland
+ extraPortals = with pkgs; [
+ xdg-desktop-portal-hyprland
];
config.hyprland = {
default = lib.mkForce ["gtk"];
@@ -28,8 +27,8 @@ in {
programs.hyprland = {
enable = true;
withUWSM = true;
- package = inputs.hyprland.packages.${system}.hyprland;
- portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
+ package = pkgs.hyprland;
+ portalPackage = pkgs.xdg-desktop-portal-hyprland;
};
};
}
diff --git a/system/hardware.nix b/system/hardware.nix
deleted file mode 100644
index 8b1ef0c..0000000
--- a/system/hardware.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}: let
- inherit (lib) mkIf;
-in {
- config = mkIf (!config.minimal) {
- # yubikey support
- services = {
- pcscd.enable = true;
- udev.packages = with pkgs; [
- yubikey-personalization
- ];
- };
-
- # firmware
- services.fwupd.enable = true;
- };
-}
diff --git a/system/networking.nix b/system/networking.nix
index 72a7029..8e46f4c 100644
--- a/system/networking.nix
+++ b/system/networking.nix
@@ -12,12 +12,15 @@ in {
users.groups.networkmanager.members = [config.user];
# firewall
- networking.firewall.enable = true;
+ networking.firewall.enable = cfg.firewall.enable;
networking.firewall.allowedTCPPorts = [80 443 8080];
- networking.nftables.enable = true;
+ networking.nftables.enable = cfg.firewall.enable;
# dns
- services.resolved.enable = true;
- networking.networkmanager.dns = "systemd-resolved";
+ services.resolved.enable = cfg.dns.enable;
+ networking.networkmanager.dns =
+ if cfg.dns.enable
+ then "systemd-resolved"
+ else "default";
};
}
diff --git a/system/sshd.nix b/system/sshd.nix
index b3a76c2..e60da43 100644
--- a/system/sshd.nix
+++ b/system/sshd.nix
@@ -7,7 +7,7 @@
inherit (lib) mkIf;
cfg = config.network;
in {
- config = mkIf cfg.enable {
+ config = mkIf cfg.ssh.enable {
# sshd
services.openssh = {
enable = true;
diff --git a/system/virt/docker.nix b/system/virt/docker.nix
index 9dcb7e2..2376574 100644
--- a/system/virt/docker.nix
+++ b/system/virt/docker.nix
@@ -5,13 +5,17 @@
}: let
inherit (lib) mkIf;
cfg = config.virt.docker;
+ rootfs = config.fileSystems."/".fsType;
in {
config = mkIf cfg.enable {
- virtualisation.docker = {
- enable = true;
- enableOnBoot = false;
- storageDriver = "btrfs";
- };
+ virtualisation.docker =
+ {
+ enable = true;
+ enableOnBoot = false;
+ }
+ // mkIf (rootfs == "btrfs") {
+ storageDriver = "btrfs";
+ };
users.groups.docker.members = [config.user];
};
}