diff --git a/hosts/workstation/configuration.nix b/hosts/workstation/configuration.nix index 0cc612b..1fd64c8 100644 --- a/hosts/workstation/configuration.nix +++ b/hosts/workstation/configuration.nix @@ -2,14 +2,20 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{inputs, config, pkgs, ... }: +{ + inputs, + config, + pkgs, + ... +}: { - imports = - [ # Include the results of the hardware scan. - ../../shared/client/niri.nix - ./hardware-configuration.nix - ]; + imports = [ + # Include the results of the hardware scan. + ../../shared/client/niri.nix + ./hardware-configuration.nix + ./software + ]; # Bootloader. boot.loader.systemd-boot.enable = true; @@ -18,7 +24,8 @@ # Use latest kernel. boot.kernelPackages = pkgs.linuxPackages_latest; - boot.initrd.luks.devices."luks-11a80280-8a8c-44c0-a8be-7ef370eb37ae".device = "/dev/disk/by-uuid/11a80280-8a8c-44c0-a8be-7ef370eb37ae"; + boot.initrd.luks.devices."luks-11a80280-8a8c-44c0-a8be-7ef370eb37ae".device = + "/dev/disk/by-uuid/11a80280-8a8c-44c0-a8be-7ef370eb37ae"; networking.hostName = "workstation"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. @@ -60,7 +67,13 @@ users.users.misschloe777 = { isNormalUser = true; description = "misschloe777"; - extraGroups = [ "networkmanager" "wheel" "audio" "video" "podman" ]; + extraGroups = [ + "networkmanager" + "wheel" + "audio" + "video" + "podman" + ]; packages = with pkgs; [ inputs.zen-browser.packages."${system}".default ]; @@ -77,8 +90,8 @@ # 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 + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget wget dwl git @@ -90,13 +103,16 @@ udiskie ]; + programs.zsh.enable = true; + environment.pathsToLink = [ "/share/zsh" ]; + # 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; - # }; + programs.mtr.enable = true; + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; # List services that you want to enable: @@ -116,5 +132,4 @@ # 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/workstation/features/hardware/default.nix b/hosts/workstation/features/hardware/default.nix new file mode 100644 index 0000000..5f095c8 --- /dev/null +++ b/hosts/workstation/features/hardware/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./nvidia.nix ]; +} diff --git a/hosts/workstation/features/hardware/nvidia.nix b/hosts/workstation/features/hardware/nvidia.nix new file mode 100644 index 0000000..ade3976 --- /dev/null +++ b/hosts/workstation/features/hardware/nvidia.nix @@ -0,0 +1,13 @@ +{ config, pkgs, ... }: + +{ + boot.blacklistedKernelModules = [ "nouveau" ]; + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ nvidia-vaapi-driver ]; + }; + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.nvidia = { + open = false; + }; +} diff --git a/hosts/workstation/features/software/default.nix b/hosts/workstation/features/software/default.nix new file mode 100644 index 0000000..79b1345 --- /dev/null +++ b/hosts/workstation/features/software/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./workstation.nix + ./discord.nix + ]; +} diff --git a/hosts/workstation/features/software/discord.nix b/hosts/workstation/features/software/discord.nix new file mode 100644 index 0000000..98b093b --- /dev/null +++ b/hosts/workstation/features/software/discord.nix @@ -0,0 +1,22 @@ +{ config, pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + (discord.override { + withVencord = true; + }) + vesktop + ]; + # screen record support + xdg = { + autostart.enable = true; + icons.enable = true; + portal = { + enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + ]; + wlr.enable = true; + }; + }; +} diff --git a/hosts/workstation/features/software/workstation.nix b/hosts/workstation/features/software/workstation.nix index 9a6e73f..e079a7e 100644 --- a/hosts/workstation/features/software/workstation.nix +++ b/hosts/workstation/features/software/workstation.nix @@ -1,8 +1,5 @@ { pkgs, lib, ... }: { - # for java development on vscode - programs.nix-ld.enable = true; - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ @@ -23,7 +20,6 @@ obs-studio gvfs - nil bitwarden ];