# kim # System configuration for a vm on my desktop { inputs, globals, ... }: with inputs; inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ globals lix-module.nixosModules.default home-manager.nixosModules.home-manager sops-nix.nixosModules.sops ./hardware-configuration.nix ./audio.nix ../../modules/common ../../modules/nixos { home-manager.useGlobalPkgs = true; # something with overlays, I don't get those yet. # Hardware physical = true; networking.hostName = "kim"; networking.useDHCP = nixpkgs.lib.mkDefault true; # TODO: identityFile = "/home/${globals.user}/.ssh/id_ed2519"; # TODO: passwordHash = nixpkgs.lib.fileContents ../../password.sha512; # Theming? sops = { defaultSopsFile = ../../secrets/secrets.yaml; defaultSopsFormat = "yaml"; age.keyFile = "/home/annika/.config/sops/age/keys.txt"; }; # TODO: Temporary, remove eventually! # networking.networkmanager.enable = true; time.timeZone = "America/New_York"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; users.users.annika = { isNormalUser = true; description = "Annika Merris"; extraGroups = [ "networkmanager" "wheel" "audio" ]; }; nixpkgs.config.allowUnfree = true; system.stateVersion = "23.11"; home-manager.backupFileExtension = "backup"; hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; # Enable hardware features audio.enable = true; gui.enable = true; services.openssh.enable = true; services.flatpak.enable = true; # Apps discord.enable = true; element.enable = true; firefox.enable = true; kitty.enable = true; netbird.enable = true; openrgb.enable = true; prusa-slicer.enable = true; spotifyd.enable = true; thunderbird.enable = true; # Gaming steam.enable = true; # Programming Stuff nixpkgs-fmt.enable = true; python3.enable = true; vscode.enable = true; # Utilities # git is not optional yubikey.enable = true; # TODO: Move this out home-manager.users.annika = { programs = { direnv = { enable = true; enableBashIntegration = true; nix-direnv.enable = true; }; }; home.packages = [ pkgs.docker ]; virtualization.docker.enable = true; }; } ]; }