diff --git a/hosts/hakase/configuration.nix b/hosts/hakase/configuration.nix index ce85521..762a889 100644 --- a/hosts/hakase/configuration.nix +++ b/hosts/hakase/configuration.nix @@ -10,12 +10,38 @@ ./hardware-configuration.nix ]; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.${myConfig.essentials.Username} = import ../../home/hakase.nix; + environment.systemPackages = with pkgs; [ + pavucontrol + ]; + + 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 = { + useGlobalPkgs = true; + useUserPackages = true; + users.${myConfig.essentials.Username} = import ../../home/hakase.nix; + }; nixpkgs.config.allowUnfree = myConfig.general.allowUnfree; + hardware.graphics = { + enable = true; + enable32Bit = true; + }; + + i18.defaultLocale = "en_US.UTF-8"; + time.timeZone = "${myConfig.nixos.Timezone}"; + boot.loader = { systemd-boot = lib.mkIf (myConfig.nixos.Boot.mode == "systemd") { enable = false; @@ -29,6 +55,45 @@ }; }; + programs.ssh.extraConfig = myConfig.general.ssh.extraConfig; + + 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 + ''; + }; + + programs = { + zsh.enable = true; + fish.enable = true; + }; + + services = { + openssh.enable = true; + libinput.enable = true; + blueman.enable = true; + printing.enable = true; + displayManager.gdm.enable = false; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + + lowLatency = { + enable = true; + quantum = 64; + rate = 48000; + }; + }; + }; + # make pipewire realtime-capable + security.rtkit.enable = true; + nix = { distributedBuilds = true; settings = { @@ -38,6 +103,21 @@ }; }; - programs.ssh.extraConfig = myConfig.general.ssh.extraConfig; + networking = { + firewall = { + enable = false; + allowedTCPPorts = [22 80]; + allowedUDPPorts = [53]; + proxy.default = null; + proxy.noProxy = null; + }; + }; + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; system.stateVersion = "25.05"; } diff --git a/modules/home/desktop.nix b/modules/home/desktop.nix index f7e9be4..cb63b00 100644 --- a/modules/home/desktop.nix +++ b/modules/home/desktop.nix @@ -1,4 +1,5 @@ { imports = [ + ../../packages/fonts/home.nix ]; } diff --git a/modules/home/terminal.nix b/modules/home/terminal.nix index ec9021c..adbd075 100644 --- a/modules/home/terminal.nix +++ b/modules/home/terminal.nix @@ -7,6 +7,9 @@ ../../packages/fastfetch/home.nix ../../packages/zsh/home.nix ../../packages/zoxide/home.nix + ../../packages/fonts/home.nix + + ../../packages/git/home.nix ../../packages/btop/home.nix ../../packages/eza/home.nix diff --git a/packages/fonts/home.nix b/packages/fonts/home.nix new file mode 100644 index 0000000..dbcb98a --- /dev/null +++ b/packages/fonts/home.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + fonts = { + fontconfig.enable = true; + packages = with pkgs; [ + nerd-fonts.jetbrains-mono + ]; + }; +}