diff options
| author | Freya Murphy <freya@freyacat.org> | 2026-03-12 13:01:28 -0400 |
|---|---|---|
| committer | Freya Murphy <freya@freyacat.org> | 2026-03-12 13:01:28 -0400 |
| commit | af9286f525770ce196bbf66a2da4ca9be1d34c75 (patch) | |
| tree | 161cb2ff0c129039dcf6b9389b9f64c6f3ba71c3 | |
| parent | thinkpad: get workin again (diff) | |
| download | dotfiles-nix-af9286f525770ce196bbf66a2da4ca9be1d34c75.tar.gz dotfiles-nix-af9286f525770ce196bbf66a2da4ca9be1d34c75.tar.bz2 dotfiles-nix-af9286f525770ce196bbf66a2da4ca9be1d34c75.zip | |
refactor some stuff
| -rw-r--r-- | home/apps/caelestia/default.nix | 1 | ||||
| -rw-r--r-- | home/default.nix | 30 | ||||
| -rw-r--r-- | home/desktops/default.nix | 25 | ||||
| -rw-r--r-- | home/desktops/hyprland/binds.nix | 1 | ||||
| -rw-r--r-- | home/desktops/hyprland/default.nix | 8 | ||||
| -rw-r--r-- | home/desktops/hyprland/plugins.nix | 8 | ||||
| -rw-r--r-- | options.nix | 18 | ||||
| -rw-r--r-- | system/default.nix | 16 | ||||
| -rw-r--r-- | system/desktop.nix | 21 | ||||
| -rw-r--r-- | system/desktops/hyprland.nix | 13 | ||||
| -rw-r--r-- | system/hardware.nix | 21 | ||||
| -rw-r--r-- | system/networking.nix | 11 | ||||
| -rw-r--r-- | system/sshd.nix | 2 | ||||
| -rw-r--r-- | system/virt/docker.nix | 14 |
14 files changed, 94 insertions, 95 deletions
diff --git a/home/apps/caelestia/default.nix b/home/apps/caelestia/default.nix index 75dbb26..d691fb8 100644 --- a/home/apps/caelestia/default.nix +++ b/home/apps/caelestia/default.nix @@ -15,7 +15,6 @@ in { config = mkIf cfg.enable { default.appLauncher = lib.mkOverride 600 "caelestia-shell ipc call drawers toggle launcher"; - #default.lockScreen = "caelestia-shell ipc call lock lock"; programs.caelestia = { enable = true; diff --git a/home/default.nix b/home/default.nix index 6d157a2..7adabec 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,13 +1,8 @@ { - lib, config, pkgs, - inputs, - system, ... -}: let - inherit (lib) optionals; -in { +}: { imports = [ ./apps ./browsers @@ -36,30 +31,9 @@ in { (with pkgs; [ home-manager pfetch-rs + talc yt-dlp ]) - ++ [ - inputs.talc.packages.${system}.talc - ] - ++ (with pkgs; - optionals config.desktops.enable [ - # social - gajim - thunderbird-latest - # programs - brightnessctl - easyeffects - filezilla - gimp3 - imv - mpv - pavucontrol - vlc - zathura - # media - ffmpeg - imagemagick - ]) # mirrored from system ++ config.extraPackages; diff --git a/home/desktops/default.nix b/home/desktops/default.nix index ea00f07..47be159 100644 --- a/home/desktops/default.nix +++ b/home/desktops/default.nix @@ -48,7 +48,26 @@ in { roboto-mono roboto-serif roboto-slab + sf-pro + sf-mono + sf-compact twemoji-color-font + # social + gajim + thunderbird-latest + # programs + brightnessctl + easyeffects + filezilla + gimp3 + imv + mpv + pavucontrol + vlc + zathura + # media + ffmpeg + imagemagick ] ++ (optionals config.desktops.wayland.enable [ # wayland @@ -57,12 +76,6 @@ in { wl-clipboard wl-clip-persist wl-mirror - ]) - ++ (with inputs.apple-fonts.packages.${system}; [ - # apple fonts - sf-pro - sf-mono - sf-compact ]); # set uwsm vars diff --git a/home/desktops/hyprland/binds.nix b/home/desktops/hyprland/binds.nix index 7582edf..d6aa3b9 100644 --- a/home/desktops/hyprland/binds.nix +++ b/home/desktops/hyprland/binds.nix @@ -15,7 +15,6 @@ in { # Misc "${mod} SHIFT, L, exit" - #"${mod}, tab, hyprexpo:expo, toggle" # Window operations diff --git a/home/desktops/hyprland/default.nix b/home/desktops/hyprland/default.nix index 913ca57..e3624ec 100644 --- a/home/desktops/hyprland/default.nix +++ b/home/desktops/hyprland/default.nix @@ -1,8 +1,6 @@ { - inputs, - config, lib, - system, + config, pkgs, ... }: let @@ -25,8 +23,8 @@ in { wayland.windowManager.hyprland = { enable = 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; xwayland.enable = true; systemd.enable = true; diff --git a/home/desktops/hyprland/plugins.nix b/home/desktops/hyprland/plugins.nix index e8ec00d..d9804d1 100644 --- a/home/desktops/hyprland/plugins.nix +++ b/home/desktops/hyprland/plugins.nix @@ -1,13 +1,11 @@ { - inputs, config, - system, + pkgs, ... }: { wayland.windowManager.hyprland = { - plugins = [ - #inputs.hyprland-plugins.packages.${system}.hyprexpo - inputs.hy3.packages.${system}.hy3 + plugins = with pkgs; [ + hy3 ]; settings.plugin = { diff --git a/options.nix b/options.nix index 42097b0..47404e7 100644 --- a/options.nix +++ b/options.nix @@ -296,8 +296,22 @@ in { fingerprint.enable = mkEnableOption { description = "Install fingerprint system services and programs."; }; - network.enable = mkEnableOption { - description = "Install networking system services and programs."; + network = { + enable = mkEnableOption { + description = "Install networking system services and programs."; + }; + firewall.enable = mkEnableOption { + description = "Enable the networking firewall"; + default = !config.minimal; + }; + dns.enable = mkEnableOption { + description = "Run a local dns server"; + default = !config.minimal; + }; + ssh.enable = mkEnableOption { + description = "Run a local ssh server"; + default = !config.minimal; + }; }; tpm.enable = mkEnableOption { description = "Enable system TPM"; 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]; }; } |