From b4462b3d98e0e9987114356b397be7e8e15e3ff4 Mon Sep 17 00:00:00 2001 From: Annika Merris Date: Sat, 18 May 2024 21:43:09 -0400 Subject: [PATCH] Cleanup --- flake.nix | 1 - hosts/default/configuration.nix | 143 --------------- hosts/default/hardware-configuration.nix | 39 ----- hosts/default/home.nix | 76 -------- hosts/kim/annika.nix | 124 ------------- hosts/kim/configuration.nix | 211 ----------------------- hosts/kim/default.nix | 53 ------ hosts/kim/hardware-configuration.nix | 39 ----- hosts/virt-nix/default.nix | 1 + 9 files changed, 1 insertion(+), 686 deletions(-) delete mode 100644 hosts/default/configuration.nix delete mode 100644 hosts/default/hardware-configuration.nix delete mode 100644 hosts/default/home.nix delete mode 100644 hosts/kim/annika.nix delete mode 100644 hosts/kim/configuration.nix delete mode 100644 hosts/kim/default.nix delete mode 100644 hosts/kim/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index f86d5b9..98ef7c0 100644 --- a/flake.nix +++ b/flake.nix @@ -45,7 +45,6 @@ }; in rec { - nixpkgs.config.allowUnfree = true; nixosConfigurations = { kim = import ./hosts/kim { inherit inputs globals; diff --git a/hosts/default/configuration.nix b/hosts/default/configuration.nix deleted file mode 100644 index 4f05697..0000000 --- a/hosts/default/configuration.nix +++ /dev/null @@ -1,143 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running 'nixos-help'). - -{ config, pkgs, inputs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - inputs.home-manager.nixosModules.default - ]; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "kim"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "America/New_York"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - services.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - - # Configure keymap in X11 - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with 'passwd'. - users.users.annika = { - isNormalUser = true; - description = "Annika Merris"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [ - kate - # thunderbird - ]; - }; - - home-manager = { - extraSpecialArgs = { inherit inputs; }; - users = { - "annika" = import ./home.nix; - }; - }; - - # Install firefox. - programs.firefox.enable = true; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - wget - discord - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It's perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.11"; # Did you read the comment? - -} diff --git a/hosts/default/hardware-configuration.nix b/hosts/default/hardware-configuration.nix deleted file mode 100644 index 3a8c1f1..0000000 --- a/hosts/default/hardware-configuration.nix +++ /dev/null @@ -1,39 +0,0 @@ -# Do not modify this file! It was generated by 'nixos-generate-config' -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/ba4362a3-3a0b-4227-b460-a5a9302f5966"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/DB88-8E65"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp6s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/default/home.nix b/hosts/default/home.nix deleted file mode 100644 index 785d1db..0000000 --- a/hosts/default/home.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ config, pkgs, ... }: - -{ - # Home Manager needs a bit of information about you and the paths it should - # manage. - home.username = "annika"; - home.homeDirectory = "/home/annika"; - - # This value determines the Home Manager release that your configuration is - # compatible with. This helps avoid breakage when a new Home Manager release - # introduces backwards incompatible changes. - # - # You should not change this value, even if you update Home Manager. If you do - # want to update the value, then make sure to first check the Home Manager - # release notes. - home.stateVersion = "23.11"; # Please read the comment before changing. - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = [ - # # Adds the 'hello' command to your environment. It prints a friendly - # # "Hello, world!" when run. - # pkgs.hello - - # # It is sometimes useful to fine-tune packages, for example, by applying - # # overrides. You can do that directly here, just don't forget the - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of - # # fonts? - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') - ]; - - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; - - # Home Manager can also manage your environment variables through - # 'home.sessionVariables'. These will be explicitly sourced when using a - # shell provided by Home Manager. If you don't want to manage your shell - # through Home Manager then you have to manually source 'hm-session-vars.sh' - # located at either - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/annika/etc/profile.d/hm-session-vars.sh - # - home.sessionVariables = { - # EDITOR = "emacs"; - }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; -} diff --git a/hosts/kim/annika.nix b/hosts/kim/annika.nix deleted file mode 100644 index b555350..0000000 --- a/hosts/kim/annika.nix +++ /dev/null @@ -1,124 +0,0 @@ -{ config, pkgs, inputs, ... }: - -{ - imports = [ - inputs.sops-nix.homeManagerModules.sops - ]; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; - - # Configure secrets stuff - sops = { - defaultSopsFile = ../../secrets/secrets.yaml; - defaultSopsFormat = "yaml"; - age.keyFile = "/home/annika/.config/sops/age/keys.txt"; - }; - - nixpkgs.config.allowUnfree = true; - # Home Manager needs a bit of information about you and the paths it should - # manage. - home.username = "annika"; - home.homeDirectory = "/home/annika"; - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = [ - # GUI Apps - pkgs.google-chrome - pkgs.discord - pkgs.prusa-slicer - pkgs.helvum - pkgs.element-desktop - pkgs.netbird-ui - - # Terminal apps - pkgs.tmux - - # Helper stuff - pkgs.nixpkgs-fmt - - # Don't know what to call this - pkgs.spotifyd - ]; - - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; - - # Home Manager can also manage your environment variables through - # 'home.sessionVariables'. These will be explicitly sourced when using a - # shell provided by Home Manager. If you don't want to manage your shell - # through Home Manager then you have to manually source 'hm-session-vars.sh' - # located at either - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/annika/etc/profile.d/hm-session-vars.sh - # - home.sessionVariables = { - EDITOR = "vim"; - SUDO_EDITOR = "vim"; - }; - - programs = { - direnv = { - enable = true; - enableBashIntegration = true; - nix-direnv.enable = true; - }; - bash = { - enable = true; - }; - vscode = { - enable = true; - extensions = with pkgs.vscode-extensions; [ - bbenoist.nix - catppuccin.catppuccin-vsc - ]; - }; - firefox = { - enable = true; - policies = { - ExtensionSettings = { - "{446900e4-71c2-419f-a6a7-df9c091e268b}" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi"; - installation_mode = "normal_installed"; - default_area = "navbar"; - }; - }; - }; - }; - git = { - enable = true; - userName = "Annika Merris"; - userEmail = "me@annikamerris.com"; - }; - }; - - # This value determines the Home Manager release that your configuration is - # compatible with. This helps avoid breakage when a new Home Manager release - # introduces backwards incompatible changes. - # - # You should not change this value, even if you update Home Manager. If you do - # want to update the value, then make sure to first check the Home Manager - # release notes. - home.stateVersion = "23.11"; # Please read the comment before changing. -} diff --git a/hosts/kim/configuration.nix b/hosts/kim/configuration.nix deleted file mode 100644 index 3777365..0000000 --- a/hosts/kim/configuration.nix +++ /dev/null @@ -1,211 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running 'nixos-help'). - -{ config, pkgs, inputs, ... }: - -{ - imports = - [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - inputs.home-manager.nixosModules.default - ]; - - nix.settings.extra-substituters = [ - "https://cache.lix.systems" - ]; - - nix.settings.trusted-public-keys = [ - "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" - ]; - - # Workaround for an issue with docs and Aux - documentation.nixos.enable = false; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "kim"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "America/New_York"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - services.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - - # Configure keymap in X11 - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with 'passwd'. - users.users.annika = { - isNormalUser = true; - description = "Annika Merris"; - extraGroups = [ "networkmanager" "wheel" ]; - shell = pkgs.bash; - packages = with pkgs; [ - # kate - ]; - }; - - # Configure secrets stuff - sops = { - defaultSopsFile = ../../secrets/secrets.yaml; - defaultSopsFormat = "yaml"; - age.keyFile = "/home/annika/.config/sops/age/keys.txt"; - - secrets."spotifyd/settings/global/password" = { }; - - templates = { - "spotifyd.conf" = { - owner = "annika"; - content = '' - [global] - username = "me@annikamerris.com" - password = "${config.sops.placeholder."spotifyd/settings/global/password"}" - use_mpris = true - device_name = "kim-nix" - device_type = "computer" - ''; - }; - }; - }; - - # Install and setup spotifyd - # sops.templates. - systemd.user.services.spotifyd = { - description = "spotify daemon"; - documentation = [ "https://github.com/Spotifyd/spotifyd" ]; - - wantedBy = [ "default.target" ]; - - serviceConfig = { - ExecStart = - "${pkgs.spotifyd}/bin/spotifyd --no-daemon --config-path ${config.sops.templates."spotifyd.conf".path}"; - Restart = "always"; - RestartSec = 12; - }; - }; - - home-manager = { - extraSpecialArgs = { inherit inputs; }; - users = { - "annika" = import ./annika.nix; - }; - }; - - nixpkgs.overlays = [ inputs.catppuccin-vsc.overlays.default ]; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # Install firefox. - programs = { - firefox = { - enable = true; - }; - - steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - }; - }; - - programs.solaar.enable = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - wget - git - # logiops - python3 - age # For encryption - sops # For encryption too - ]; - - # List services that you want to enable: - # Enable the OpenSSH daemon. - services.openssh.enable = true; - services.flatpak.enable = true; - services.netbird.enable = true; - services.ratbagd.enable = true; - - hardware.bluetooth.enable = true; - hardware.bluetooth.powerOnBoot = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - networking.firewall.allowedUDPPorts = [ - 5353 - ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It's perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.11"; # Did you read the comment? - -} diff --git a/hosts/kim/default.nix b/hosts/kim/default.nix deleted file mode 100644 index 7bdb583..0000000 --- a/hosts/kim/default.nix +++ /dev/null @@ -1,53 +0,0 @@ -# Kim -# System configuration for my desktop - -{ inputs, globals, overlays, ... }: - -with inputs; - -nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - globals - home-manager.nixosModules.home-manager - # ../../modules/common - # ../../modules/nixos - { - # something with overlays, I don't get those yet. - - # Hardware - physical = true; - networking.hostName = "kim"; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ "amdgpu" ]; - boot.kernelModules = [ "kvm-amd" ]; - services.xserver.videoDrivers = [ "amdgpu" ]; # TODO: I use wayland, do I need this? - hardware.enableRedistributableFirmware = true; - powerManagement.cpuFreqGovernor = "performance"; - hardware.cpu.amd.updateMicrocode = true; - - fileSystems."/" = - { - device = "/dev/disk/by-uuid/ba4362a3-3a0b-4227-b460-a5a9302f5966"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { - device = "/dev/disk/by-uuid/DB88-8E65"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = [ ]; - - networking.useDHCP = lib.mkDefault true; - - # TODO: identityFile = "/home/${globals.user}/.ssh/id_ed2519"; - # TODO: passwordHash = nixpkgs.lib.fileContents ../../password.sha512; - - # Theming? - } - ]; -} diff --git a/hosts/kim/hardware-configuration.nix b/hosts/kim/hardware-configuration.nix deleted file mode 100644 index ac3f8e2..0000000 --- a/hosts/kim/hardware-configuration.nix +++ /dev/null @@ -1,39 +0,0 @@ -# Do not modify this file! It was generated by 'nixos-generate-config' -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ "amdgpu" ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/ba4362a3-3a0b-4227-b460-a5a9302f5966"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/DB88-8E65"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp6s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/virt-nix/default.nix b/hosts/virt-nix/default.nix index e37a69d..391a19a 100644 --- a/hosts/virt-nix/default.nix +++ b/hosts/virt-nix/default.nix @@ -62,6 +62,7 @@ inputs.nixpkgs.lib.nixosSystem { description = "Annika Merris"; extraGroups = [ "networkmanager" "wheel" ]; }; + nixpkgs.config.allowUnfree = true; system.stateVersion = "23.11"; gui.enable = true;