diff --git a/config.nix b/config.nix index b17f287..4364dcb 100644 --- a/config.nix +++ b/config.nix @@ -20,7 +20,7 @@ nixos = { Hostname = "hakase"; Timezone = "America/Chicago"; - enableSteamOS = false; + enableSteamOS = true; Boot = { mode = "systemd"; # systemd or grub diff --git a/flake.nix b/flake.nix index 8e916b9..4580da0 100644 --- a/flake.nix +++ b/flake.nix @@ -46,6 +46,12 @@ url = "git+https://git.sakamoto.dev/kenji/illogical-impulse.git"; inputs.nixpkgs.follows = "nixpkgs"; }; + + omarchy-nix = { + url = "git+https://git.sakamoto.dev/kenji/omarchy-nix.git"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = "home-manager"; + }; }; outputs = { @@ -58,6 +64,7 @@ nixovim, illogical-impulse, erosanix, + omarchy-nix, ... } @ inputs: let config = import ./config.nix; @@ -79,6 +86,12 @@ ./hosts/hakase/configuration.nix ]; }; + hakase-omarchy = nixpkgs.lib.nixosSystem { + modules = [ + omarchy-nix.nixosModules.default + home-manager.nixosModules.home-manager + ]; + }; vanilla = nixpkgs.lib.nixosSystem { specialArgs = args; modules = [ @@ -99,6 +112,16 @@ ./home/hakase.nix ]; }; + hakase-omarchy = home-manager.lib.homeManagerConfiguration { + pkgs = import nixpkgs { + config.allowUnfree = true; + extraSpecialArgs = args; + }; + modules = [ + home-manager.nixosModules.home-manager + ./home/hakase-omarchy.nix + ]; + }; }; darwinConfigurations = { macos = darwin.lib.darwinSystem { diff --git a/home/hakase-omarchy.nix b/home/hakase-omarchy.nix new file mode 100644 index 0000000..5d8122a --- /dev/null +++ b/home/hakase-omarchy.nix @@ -0,0 +1,14 @@ +{ + pkgs, + inputs, + ... +}: let + info = import ../config.nix; +in { + imports = [ + # inputs.chaotic.homeManagerModules.default + ]; + + home.packages = info.myConfig.nixos.Apps.packages pkgs; + home.stateVersion = "25.05"; +} diff --git a/hosts/hakase-omarchy/configuration.nix b/hosts/hakase-omarchy/configuration.nix new file mode 100644 index 0000000..a30ee56 --- /dev/null +++ b/hosts/hakase-omarchy/configuration.nix @@ -0,0 +1,150 @@ +{ + pkgs, + myConfig, + specialArgs, + ... +}: { + imports = [ + ./hardware-configuration.nix + ]; + + system.stateVersion = "25.05"; + + i18n.defaultLocale = "en_US.UTF-8"; + time.timeZone = "${myConfig.nixos.Timezone}"; + nixpkgs.config.allowUnfree = myConfig.general.allowUnfree; + + console = { + earlySetup = false; + font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz"; + packages = with pkgs; [terminus_font]; + useXkbConfig = true; + }; + + users = { + # defaultUserShell = pkgs.${myConfig.general.Terminal.shell}; + users = { + ${myConfig.essentials.Username} = { + isNormalUser = true; + extraGroups = ["wheel" "networkmanager" "input" "video"]; + initialHashedPassword = "$y$j9T$NHFtSwF4NJtEmgMjy4Xdg.$9WQltjEx3eEfZ7GbpGLW8lBhJtiXPOeIawrxdmx0.vB"; + useDefaultShell = true; + packages = []; + }; + }; + }; + + home-manager = { + backupFileExtension = "backup"; + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = specialArgs; + users.${myConfig.essentials.Username} = import ../../home/hakase-omarchy.nix; + }; + networking = { + useDHCP = false; + wireless = { + enable = false; + }; + + networkmanager.enable = true; + firewall = { + enable = true; + allowedTCPPorts = [22 80]; + allowedUDPPorts = [53]; + }; + proxy = { + default = null; + noProxy = null; + }; + }; + + systemd = { + # network.enable = true; + # extraConfig = "DefaultTimeoutStopSec=5s"; + }; + + nix = { + settings = { + experimental-features = ["nix-command" "flakes"]; + }; + }; + # + # hardware = { + # enableAllFirmware = true; + # logitech.wireless.enable = true; + # + # bluetooth = { + # enable = true; + # powerOnBoot = true; + # settings = { + # General = { + # # AutoEnable = true; + # Experimental = true; + # MultiProfile = "multiple"; + # FastConnectable = true; + # # ControllerMode = "bredr"; + # }; + # Policy = { + # AutoEnable = true; + # }; + # }; + # }; + # + # graphics = { + # enable = true; + # enable32Bit = true; + # }; + # + # xone.enable = true; + # }; + # + + # security.rtkit.enable = true; + + # 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 + # ''; + # zsh.enable = true; + # fish.enable = true; + # + # appimage = { + # enable = true; + # binfmt = true; + # }; + # + # ssh.extraConfig = myConfig.optionals.Ssh.extraConfig; + # }; + + # jovian.steamos.enableMesaPatches = true; + # + # services = { + # displayManager.sessionPackages = [ + # inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland + # ]; + # + # getty.autologinUser = lib.mkOverride 10 "${myConfig.essentials.Username}"; + # + # flatpak.enable = true; + # seatd.enable = true; + # upower.enable = true; + # scx.enable = true; + # libinput.enable = true; + # blueman.enable = true; + # printing.enable = true; + # openssh.enable = true; + # + # pipewire = { + # enable = true; + # alsa = { + # enable = true; + # support32Bit = true; + # }; + # pulse.enable = true; + # }; + # }; +} diff --git a/hosts/hakase-omarchy/hardware-configuration.nix b/hosts/hakase-omarchy/hardware-configuration.nix new file mode 100644 index 0000000..8997e37 --- /dev/null +++ b/hosts/hakase-omarchy/hardware-configuration.nix @@ -0,0 +1,33 @@ +# 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/mapper/luks-9091013c-0763-40a6-8316-d44d52df3530"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-9091013c-0763-40a6-8316-d44d52df3530".device = "/dev/disk/by-uuid/9091013c-0763-40a6-8316-d44d52df3530"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/B332-BF84"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/packages/steam/default.nix b/packages/steam/default.nix index f1352d6..804acf8 100644 --- a/packages/steam/default.nix +++ b/packages/steam/default.nix @@ -3,15 +3,15 @@ myConfig, ... }: { - # programs.steam = { - # enable = true; - # remotePlay.openFirewall = true; - # gamescopeSession.enable = true; - # extraCompatPackages = with pkgs; [proton-ge-bin]; - # extraPackages = with pkgs; [ - # # mangohud - # # gamescope-wsi - # ]; - # }; - # programs.gamemode.enable = true; + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + gamescopeSession.enable = true; + extraCompatPackages = with pkgs; [proton-ge-bin]; + extraPackages = with pkgs; [ + mangohud + gamescope-wsi + ]; + }; + programs.gamemode.enable = true; }