From c96b2797e0f112c2e0e939f8c8a9efe2acf78941 Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Fri, 8 Nov 2024 06:33:25 +0000 Subject: [PATCH] Split allowUnfreePredicate to where it's actually needed Move steam config to separate file, import by Vanguard. Move work config up one level (system rather than home) to config allowUnfreePredicate for NoMachine. Install teams and twinkle on desktop by default. --- system/Ronin.nix | 6 ++- system/Tone.nix | 6 ++- system/Vanguard.nix | 38 +++--------------- system/default.nix | 24 ----------- system/home/desktop/default.nix | 10 +++++ system/home/work.nix | 30 -------------- system/services/satisfactory/default.nix | 9 ++++- system/steam.nix | 51 ++++++++++++++++++++++++ system/work.nix | 20 ++++++++++ 9 files changed, 102 insertions(+), 92 deletions(-) delete mode 100644 system/home/work.nix create mode 100644 system/steam.nix create mode 100644 system/work.nix diff --git a/system/Ronin.nix b/system/Ronin.nix index d2dac020..a33ea294 100644 --- a/system/Ronin.nix +++ b/system/Ronin.nix @@ -1,8 +1,10 @@ { pkgs, username, ... }: { - imports = [ ./laptop.nix ]; + imports = [ + ./laptop.nix + ./work.nix + ]; home-manager.users.${username} = { - imports = [ ./home/work.nix ]; home.stateVersion = "23.05"; wayland.windowManager.hyprland.settings.monitor = [ "eDP-1,preferred,auto,1.25" diff --git a/system/Tone.nix b/system/Tone.nix index ced40b2c..fae1c762 100644 --- a/system/Tone.nix +++ b/system/Tone.nix @@ -1,8 +1,10 @@ { pkgs, username, ... }: { - imports = [ ./desktop.nix ]; + imports = [ + ./desktop.nix + ./work.nix + ]; home-manager.users.${username} = { - imports = [ ./home/work.nix ]; home.stateVersion = "23.05"; wayland.windowManager.hyprland.settings.monitor = [ "desc:Dell Inc. DELL P3223QE CCG8YN3,preferred,auto,1.5" diff --git a/system/Vanguard.nix b/system/Vanguard.nix index 82f261ec..dbe81fa4 100644 --- a/system/Vanguard.nix +++ b/system/Vanguard.nix @@ -5,8 +5,10 @@ ... }: { - imports = [ ./desktop.nix ]; - environment.sessionVariables.MANGOHUD = 1; + imports = [ + ./desktop.nix + ./steam.nix + ]; home-manager.users.${username} = { home = { stateVersion = "23.05"; @@ -17,7 +19,6 @@ freecad openscad kicad-small - mangohud wineWowPackages.waylandFull winetricks lutris @@ -38,22 +39,6 @@ "desc:Acer Technologies ED270R TJMEE0043W01,1920x1080@144,0x140,1.0,vrr,2" "desc:Microstep MSI G27CQ4 E2,2560x1440@144,1920x0,1.25,vrr,2" ]; - xdg.configFile."MangoHud/MangoHud.conf".text = with config.lib.stylix.scheme; '' - preset=1 - text_color=${base00} - gpu_color=${green} - cpu_color=${green} - vram_color=${magenta} - ram_color=${magenta} - engine_color=${red} - io_color=${magenta} - frametime_color=${green} - background_color=${base05} - media_player_color=${base00} - wine_color=${red} - battery_color=${orange} - network_color=${red} - ''; }; boot = { extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; @@ -71,23 +56,10 @@ driSupport = true; driSupport32Bit = true; }; - steam-hardware.enable = true; - }; - system.stateVersion = "23.05"; - programs = { - gamemode.enable = true; - steam = { - enable = true; - remotePlay.openFirewall = true; - gamescopeSession.enable = true; - }; - gamescope = { - enable = true; - capSysNice = true; - }; }; services.ollama = { enable = true; acceleration = "rocm"; }; + system.stateVersion = "23.05"; } diff --git a/system/default.nix b/system/default.nix index de625776..5d958f4f 100644 --- a/system/default.nix +++ b/system/default.nix @@ -56,30 +56,6 @@ max-free = ${toString (1024 * 1024 * 1024)} ''; }; - nixpkgs = { - config.allowUnfreePredicate = - pkg: - builtins.elem (lib.getName pkg) [ - "steam" - "steam-original" - "steam-run" - "steamcmd" - "nomachine-client" - ]; - overlays = [ - (final: prev: { - inherit (inputs.plasma-manager.packages.${prev.system}) rc2nix; - protonmail-bridge-gui = pkgs.symlinkJoin { - name = "protonmail-bridge-gui"; - paths = [ prev.protonmail-bridge-gui ]; - buildInputs = [ pkgs.makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/protonmail-bridge-gui --set PASSWORD_STORE_DIR /dev/null - ''; - }; - }) - ]; - }; system.autoUpgrade = { enable = true; persistent = true; diff --git a/system/home/desktop/default.nix b/system/home/desktop/default.nix index a7bc9456..1b5813c0 100644 --- a/system/home/desktop/default.nix +++ b/system/home/desktop/default.nix @@ -27,6 +27,8 @@ webcord signal-desktop whatsapp-for-linux + teams-for-linux + twinkle ]; file.${config.gtk.gtk2.configLocation}.force = true; }; @@ -79,6 +81,14 @@ # Autostart some programs "autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop"; "autostart/com.github.eneshecan.WhatsAppForLinux.desktop".source = "${pkgs.whatsapp-for-linux}/share/applications/com.github.eneshecan.WhatsAppForLinux.desktop"; + "teams-for-linux/config.json".text = builtins.toJSON { + awayOnSystemIdle = true; + closeAppOnCross = false; + followSystemTheme = true; + notificationMethod = "electron"; + optInTeamsV2 = true; + spellCheckerLanguages = [ "en_GB" ]; + }; }; }; } diff --git a/system/home/work.nix b/system/home/work.nix deleted file mode 100644 index 5f140bc8..00000000 --- a/system/home/work.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -{ - imports = [ ./openfortivpn/ukaea.nix ]; - home.packages = with pkgs; [ - nomachine-client - teams-for-linux - twinkle - ]; - programs.git.userEmail = config.accounts.email.accounts.outlook.address; - accounts.email.accounts = { - proton.primary = lib.mkForce false; - outlook.primary = lib.mkForce true; - }; - xdg.configFile = { - "autostart/teams-for-linux.desktop".source = "${pkgs.teams-for-linux}/share/applications/teams-for-linux.desktop"; - "teams-for-linux/config.json".text = builtins.toJSON { - awayOnSystemIdle = true; - closeAppOnCross = false; - followSystemTheme = true; - notificationMethod = "electron"; - optInTeamsV2 = true; - spellCheckerLanguages = [ "en_GB" ]; - }; - }; -} diff --git a/system/services/satisfactory/default.nix b/system/services/satisfactory/default.nix index ecb4cc2f..594707b4 100644 --- a/system/services/satisfactory/default.nix +++ b/system/services/satisfactory/default.nix @@ -1,6 +1,13 @@ -{ ... }: +{ lib, ... }: { imports = [ ./module.nix ]; + nixpkgs.config.allowUnfreePredicate = + pkg: + builtins.elem (lib.getName pkg) [ + "steam-original" + "steam-run" + "steamcmd" + ]; services.satisfactory-server = { enable = true; openFirewall = true; diff --git a/system/steam.nix b/system/steam.nix new file mode 100644 index 00000000..456ef765 --- /dev/null +++ b/system/steam.nix @@ -0,0 +1,51 @@ +{ + config, + lib, + pkgs, + username, + ... +}: +{ + nixpkgs.config.allowUnfreePredicate = + pkg: + builtins.elem (lib.getName pkg) [ + "steam" + "steam-unwrapped" + "steam-original" + "steam-run" + ]; + environment = { + sessionVariables.MANGOHUD = 1; + systemPackages = [ pkgs.mangohud ]; + }; + hardware.steam-hardware.enable = true; + programs = { + gamemode.enable = true; + steam = { + enable = true; + remotePlay.openFirewall = true; + gamescopeSession.enable = true; + }; + gamescope = { + enable = true; + capSysNice = true; + }; + }; + home-manager.users.${username}.xdg.configFile."MangoHud/MangoHud.conf".text = + with config.lib.stylix.scheme; '' + preset=1 + text_color=${base00} + gpu_color=${green} + cpu_color=${green} + vram_color=${magenta} + ram_color=${magenta} + engine_color=${red} + io_color=${magenta} + frametime_color=${green} + background_color=${base05} + media_player_color=${base00} + wine_color=${red} + battery_color=${orange} + network_color=${red} + ''; +} diff --git a/system/work.nix b/system/work.nix new file mode 100644 index 00000000..8e994b2e --- /dev/null +++ b/system/work.nix @@ -0,0 +1,20 @@ +{ + lib, + pkgs, + username, + ... +}: +{ + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "nomachine-client" ]; + environment.systemPackages = [ pkgs.nomachine-client ]; + home-manager.users.${username} = + { config, ... }: + { + imports = [ ./home/openfortivpn/ukaea.nix ]; + programs.git.userEmail = config.accounts.email.accounts.outlook.address; + accounts.email.accounts = { + proton.primary = lib.mkForce false; + outlook.primary = lib.mkForce true; + }; + }; +}