diff --git a/flake.nix b/flake.nix index 98927d8..128eb29 100644 --- a/flake.nix +++ b/flake.nix @@ -2,75 +2,88 @@ description = "Generic System Flake file"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/release-23.11"; + nixpkgs.url = "github:NixOS/nixpkgs/release-23.11"; }; outputs = { self, nixpkgs, ... }@inputs: { - nixosConfigurations = { + nixosConfigurations = { "nixos" = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - # Import the configuration.nix we used before, so that the old configuration file can still take effect. - # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here -# ./configuration.nix - ./hardware-configuration.nix + system = "x86_64-linux"; + modules = [ + # Import the configuration.nix we used before, so that the old configuration file can still take effect. + # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here + #./configuration.nix + ./hardware-configuration.nix ({config, pkgs, ...}: { - nix = { - settings.auto-optimise-store = true; - settings.experimental-features = [ "nix-command" "flakes" ]; + nix = { + settings.auto-optimise-store = true; + settings.experimental-features = [ "nix-command" "flakes" ]; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; - }; + }; - boot = { - kernelPackages = pkgs.linuxPackages_latest; + boot = { + kernelPackages = pkgs.linuxPackages_latest; - loader = { - systemd-boot.enable = true; - systemd-boot.consoleMode = "0"; - }; + loader = { + systemd-boot.enable = true; + systemd-boot.consoleMode = "0"; + }; - }; + }; - networking = { - hostName = "nixos"; + networking = { + hostName = "nixos"; + networkmanager.enable = true; + }; - }; + users.users.aaronh = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; + packages = with pkgs; [ + cargo + git + git-lfs + ]; + }; - users.users.aaronh = { - isNormalUser = true; - extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. - hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; - packages = with pkgs; [ - cargo - git - git-lfs - ]; - }; - - environment.systemPackages = with pkgs; [ - git - git-lfs - neofetch - tree - wget - ]; + environment.systemPackages = with pkgs; [ + git + git-lfs + neofetch + tree + wget + ]; - services.openssh = { - enable = true; - settings.PermitRootLogin = "no"; - }; + # Enable/Disable hardware + ## Turn off PulseAudio + hardware.pulseaudio.enable = false; - system = { - stateVersion = "23.11"; - autoUpgrade.enable = true; - }; + # Enable Pipewire + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + services.openssh = { + enable = true; + settings.PermitRootLogin = "no"; + }; + + system = { + stateVersion = "23.11"; + autoUpgrade.enable = true; + }; }) ]; };