diff --git a/flake.nix b/flake.nix index 721d8b8..a16aa88 100644 --- a/flake.nix +++ b/flake.nix @@ -68,8 +68,9 @@ (import ./packages/helium-browser/overlay.nix) ]; } - ./hosts/all.nix - ./hosts/${hostname}.nix + ./system/all.nix + ./system/browsers/firefox.nix + ./system/hosts/${hostname}/default.nix ./hardware/${hostname}.nix catppuccin.nixosModules.catppuccin home-manager.nixosModules.home-manager diff --git a/system/all.nix b/system/all.nix new file mode 100755 index 0000000..f94830c --- /dev/null +++ b/system/all.nix @@ -0,0 +1,167 @@ +# 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, + lib, + pkgs, + inputs, + ... +}: + +{ + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + + nix.settings.trusted-users = [ + "root" + "sckova" + ]; + + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.sckova = { + imports = [ + ../home/all.nix + ../home/${config.networking.hostName}.nix + ]; + }; + + boot = { + + plymouth = { + enable = true; + }; + + loader = { + timeout = 3; + systemd-boot = { + enable = true; + configurationLimit = null; + }; + efi = { + canTouchEfiVariables = false; + }; + }; + kernelParams = [ + "quiet" + "splash" + "vga=current" + "rd.systemd.show_status=false" + "rd.udev.log_level=3" + "udev.log_priority=3" + "boot.shell_on_fail" + "apple_dcp.show_notch=1" + ]; + consoleLogLevel = 0; + initrd.verbose = false; + }; + + catppuccin = { + enable = true; + flavor = "mocha"; + }; + + networking.networkmanager.enable = true; + hardware.bluetooth.enable = true; + + time.timeZone = "America/New_York"; + 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"; + }; + + # Enable OpenGL + hardware.graphics = { + enable = true; + }; + + services = { + desktopManager.plasma6.enable = true; + displayManager.sddm = { + enable = true; + wayland.enable = true; + enableHidpi = true; + }; + libinput.enable = true; + tailscale = { + enable = true; + useRoutingFeatures = "client"; + }; + }; + + services.printing.enable = true; + + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + users.users.sckova = { + isNormalUser = true; + description = "Sean Kovacs"; + extraGroups = [ + "networkmanager" + "wheel" + ]; + packages = with pkgs; [ ]; + hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0"; + }; + + programs.bash = { + interactiveShellInit = '' + if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] + then + shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" + exec ${pkgs.fish}/bin/fish $LOGIN_OPTION + fi + ''; + }; + + nixpkgs.config.allowUnfree = true; + + environment = { + systemPackages = with pkgs; [ + git + inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default + firefoxpwa + ]; + sessionVariables = { + NIXOS_OZONE_WL = "1"; + }; + }; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + + services.openssh.enable = true; + networking.firewall.enable = false; + + networking.extraHosts = '' + 0.0.0.0 apresolve.spotify.com + ''; + + # 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 = "25.05"; # Did you read the comment? + +} diff --git a/hosts/all.nix b/system/browsers/firefox.nix old mode 100755 new mode 100644 similarity index 56% rename from hosts/all.nix rename to system/browsers/firefox.nix index 8b5b629..b24c03b --- a/hosts/all.nix +++ b/system/browsers/firefox.nix @@ -1,14 +1,4 @@ -# 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, - lib, - pkgs, - inputs, - ... -}: +{ pkgs, ... }: let lock-false = { @@ -21,117 +11,7 @@ let }; in { - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; - - nix.settings.trusted-users = [ - "root" - "sckova" - ]; - - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.sckova = { - imports = [ - ../home/all.nix - ../home/${config.networking.hostName}.nix - ]; - }; - - boot = { - - plymouth = { - enable = true; - }; - - loader = { - timeout = 3; - systemd-boot = { - enable = true; - configurationLimit = null; - }; - efi = { - canTouchEfiVariables = false; - }; - }; - kernelParams = [ - "quiet" - "splash" - "vga=current" - "rd.systemd.show_status=false" - "rd.udev.log_level=3" - "udev.log_priority=3" - "boot.shell_on_fail" - "apple_dcp.show_notch=1" - ]; - consoleLogLevel = 0; - initrd.verbose = false; - }; - - catppuccin = { - enable = true; - flavor = "mocha"; - }; - - networking.networkmanager.enable = true; - hardware.bluetooth.enable = true; - - time.timeZone = "America/New_York"; - 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"; - }; - - # Enable OpenGL - hardware.graphics = { - enable = true; - }; - - services = { - desktopManager.plasma6.enable = true; - displayManager.sddm = { - enable = true; - wayland.enable = true; - enableHidpi = true; - }; - libinput.enable = true; - tailscale = { - enable = true; - useRoutingFeatures = "client"; - }; - }; - - services.printing.enable = true; - - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - users.users.sckova = { - isNormalUser = true; - description = "Sean Kovacs"; - extraGroups = [ - "networkmanager" - "wheel" - ]; - packages = with pkgs; [ ]; - hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0"; - }; - - environment.sessionVariables = rec { + environment.variables = rec { MOZ_GMP_PATH = "${pkgs.widevine-firefox}/gmp-widevinecdm/system-installed"; }; @@ -238,48 +118,4 @@ in }; }; }; - - programs.bash = { - interactiveShellInit = '' - if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] - then - shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" - exec ${pkgs.fish}/bin/fish $LOGIN_OPTION - fi - ''; - }; - - nixpkgs.config.allowUnfree = true; - - environment = { - systemPackages = with pkgs; [ - git - inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default - firefoxpwa - ]; - sessionVariables = { - NIXOS_OZONE_WL = "1"; - }; - }; - - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - - services.openssh.enable = true; - networking.firewall.enable = false; - - networking.extraHosts = '' - 0.0.0.0 apresolve.spotify.com - ''; - - # 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 = "25.05"; # Did you read the comment? - } diff --git a/hosts/alien.nix b/system/hosts/alien/default.nix similarity index 100% rename from hosts/alien.nix rename to system/hosts/alien/default.nix diff --git a/hosts/peach.nix b/system/hosts/peach/default.nix similarity index 92% rename from hosts/peach.nix rename to system/hosts/peach/default.nix index 116976d..b653d1f 100644 --- a/hosts/peach.nix +++ b/system/hosts/peach/default.nix @@ -20,7 +20,7 @@ # extractPeripheralFirmware = false; # This is broken because of flake git tracking. # I can't figure out how to make it work. - peripheralFirmwareDirectory = ../firmware; + peripheralFirmwareDirectory = ./firmware; }; swapDevices = [