{ config, pkgs, inputs, lib, ... }@osConfig: { nix.settings.experimental-features = [ "nix-command" "flakes" ]; # garbage collection nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; nix.optimise.automatic = true; nixpkgs.config.allowUnfree = true; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernel.sysctl."kernel.sysrq" = 1; users.defaultUserShell = pkgs.fish; users.users.djai = { isNormalUser = true; description = "djai"; extraGroups = [ "docker" "networkmanager" "video" "wheel" ]; }; services.getty.autologinUser = "djai"; # TODO: figure out what we want to do w firewall # networking.firewall.enable = false; networking.networkmanager.enable = true; programs.nix-ld.enable = true; services.upower.enable = true; virtualisation.docker.enable = true; environment.systemPackages = with pkgs; [ git wget vim ]; home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit inputs; }; backupFileExtension = "bck"; users."djai" = { lib, config, ... }: { programs.home-manager.enable = true; xdg.configFile."uwsm/env".source = "${config.home.sessionVariablesPackage}/etc/profile.d/hm-session-vars.sh"; home.file.".ssh/config".text = '' Include ${osConfig.config.sops.secrets."ssh-config".path} ''; home.file.".newtColours".source = ../scripts/newtColours; home = { stateVersion = "26.05"; sessionPath = [ "$HOME/bin" "$HOME/.local/bin" "$HOME/.cargo/bin" "$HOME/Scripts" ]; file.".config/WMScripts".source = ../scripts/WMScripts; activation.thumbnailsTmpfs = lib.hm.dag.entryAfter [ "writeBoundary" ] '' mkdir -p /tmp/thumbnails-$USER rm -rf "$HOME/.cache/thumbnails" ln -sf /tmp/thumbnails-$USER "$HOME/.cache/thumbnails" ''; sessionVariables = { # TODO: add rest of .config/uwms/env.bck here XCURSOR_SIZE=24; NEWT_COLORS_FILE = "$HOME/.newtColours"; BROWSER = "librewolf"; EDITOR = "nvim"; STARSHIP_LOG = "error"; }; }; catppuccin = { accent = "mauve"; autoEnable = true; enable = true; flavor = "macchiato"; }; }; }; }