# Snowfall Lib provides a customized `lib` instance with access to your flake's library { # as well as the libraries available from your flake's inputs. lib, # # An instance of `pkgs` with your overlays and packages applied is also available. # pkgs, # # You also have access to your flake's inputs. # inputs, # Additional metadata is provided by Snowfall Lib. namespace, # The namespace used for your flake, defaulting to "internal" if not set. # system, # The system architecture for this host (eg. `x86_64-linux`). # target, # The Snowfall Lib target for this system (eg. `x86_64-iso`). # format, # A normalized name for the system target (eg. `iso`). # virtual, # A boolean to determine whether this system is a virtual target using nixos-generators. # systems, # An attribute map of your defined hosts. # All other arguments come from the system system. ... }: { imports = [ ./boot.nix ./filesystems.nix ./sops.nix ./services/lsfg-vk ./services/ratbagd ./services/restic ]; ${namespace} = { headless.enable = false; sops.enable = true; bootloader.lanzaboote.enable = true; desktop = { hyprland = { enable = false; wallpaperSource = "bing"; }; plasma = { enable = true; wallpaper.enable = true; }; }; gaming.enable = true; hardware = { disko = { enable = true; enableLuks = true; }; amd = { enable = true; lact.enable = true; coolercontrol.enable = true; }; }; impermanence = { enable = true; # extraDirectories = [ # { # directory = "/var/cache/ccache"; # user = "nobody"; # group = "nobody"; # mode = "u=rwx,g=rwx,o=rx"; # } # ]; }; network = { hostName = "matt-nixos"; iwd.enable = true; networkmanager.enable = true; }; services = { nebula = { enable = true; secretsPrefix = "matt-nixos/nebula"; secretsFile = lib.snowfall.fs.get-file "secrets/desktop-secrets.yaml"; hostSecretName = "matt-nixos"; }; }; wallpaper.enable = true; }; # security.wrappers.librepods = { # source = "${pkgs.${namespace}.librepods}/bin/librepods"; # owner = "matt"; # group = "users"; # setuid = false; # capabilities = "cap_net_admin+p"; # }; specialisation = { #"linux_cachyos-rc-lto".configuration = { # boot = { # kernelPackages = lib.mkOverride 90 pkgs.${namespace}.linuxPackages_cachyos-rc-lto-znver4; # }; #}; "gnome" = { configuration = { ${namespace} = { sops.enable = true; desktop = { plasma.enable = lib.mkForce false; hyprland.enable = lib.mkForce false; gnome = lib.mkForce { enable = true; vscodium.enable = true; }; }; home.extraOptions = { ${namespace} = { desktop = { plasma = lib.mkForce { enable = false; }; gnome = lib.mkForce { enable = true; }; }; }; }; }; }; }; }; }