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.
This commit is contained in:
parent
86fe70eace
commit
c96b2797e0
|
@ -1,8 +1,10 @@
|
||||||
{ pkgs, username, ... }:
|
{ pkgs, username, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ./laptop.nix ];
|
imports = [
|
||||||
|
./laptop.nix
|
||||||
|
./work.nix
|
||||||
|
];
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
imports = [ ./home/work.nix ];
|
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
wayland.windowManager.hyprland.settings.monitor = [
|
wayland.windowManager.hyprland.settings.monitor = [
|
||||||
"eDP-1,preferred,auto,1.25"
|
"eDP-1,preferred,auto,1.25"
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
{ pkgs, username, ... }:
|
{ pkgs, username, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ./desktop.nix ];
|
imports = [
|
||||||
|
./desktop.nix
|
||||||
|
./work.nix
|
||||||
|
];
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
imports = [ ./home/work.nix ];
|
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
wayland.windowManager.hyprland.settings.monitor = [
|
wayland.windowManager.hyprland.settings.monitor = [
|
||||||
"desc:Dell Inc. DELL P3223QE CCG8YN3,preferred,auto,1.5"
|
"desc:Dell Inc. DELL P3223QE CCG8YN3,preferred,auto,1.5"
|
||||||
|
|
|
@ -5,8 +5,10 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [ ./desktop.nix ];
|
imports = [
|
||||||
environment.sessionVariables.MANGOHUD = 1;
|
./desktop.nix
|
||||||
|
./steam.nix
|
||||||
|
];
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
home = {
|
home = {
|
||||||
stateVersion = "23.05";
|
stateVersion = "23.05";
|
||||||
|
@ -17,7 +19,6 @@
|
||||||
freecad
|
freecad
|
||||||
openscad
|
openscad
|
||||||
kicad-small
|
kicad-small
|
||||||
mangohud
|
|
||||||
wineWowPackages.waylandFull
|
wineWowPackages.waylandFull
|
||||||
winetricks
|
winetricks
|
||||||
lutris
|
lutris
|
||||||
|
@ -38,22 +39,6 @@
|
||||||
"desc:Acer Technologies ED270R TJMEE0043W01,1920x1080@144,0x140,1.0,vrr,2"
|
"desc:Acer Technologies ED270R TJMEE0043W01,1920x1080@144,0x140,1.0,vrr,2"
|
||||||
"desc:Microstep MSI G27CQ4 E2,2560x1440@144,1920x0,1.25,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 = {
|
boot = {
|
||||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||||
|
@ -71,23 +56,10 @@
|
||||||
driSupport = true;
|
driSupport = true;
|
||||||
driSupport32Bit = 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 = {
|
services.ollama = {
|
||||||
enable = true;
|
enable = true;
|
||||||
acceleration = "rocm";
|
acceleration = "rocm";
|
||||||
};
|
};
|
||||||
|
system.stateVersion = "23.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,30 +56,6 @@
|
||||||
max-free = ${toString (1024 * 1024 * 1024)}
|
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 = {
|
system.autoUpgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
persistent = true;
|
persistent = true;
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
webcord
|
webcord
|
||||||
signal-desktop
|
signal-desktop
|
||||||
whatsapp-for-linux
|
whatsapp-for-linux
|
||||||
|
teams-for-linux
|
||||||
|
twinkle
|
||||||
];
|
];
|
||||||
file.${config.gtk.gtk2.configLocation}.force = true;
|
file.${config.gtk.gtk2.configLocation}.force = true;
|
||||||
};
|
};
|
||||||
|
@ -79,6 +81,14 @@
|
||||||
# Autostart some programs
|
# Autostart some programs
|
||||||
"autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop";
|
"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";
|
"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" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +1,13 @@
|
||||||
{ ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ./module.nix ];
|
imports = [ ./module.nix ];
|
||||||
|
nixpkgs.config.allowUnfreePredicate =
|
||||||
|
pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [
|
||||||
|
"steam-original"
|
||||||
|
"steam-run"
|
||||||
|
"steamcmd"
|
||||||
|
];
|
||||||
services.satisfactory-server = {
|
services.satisfactory-server = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
|
|
51
system/steam.nix
Normal file
51
system/steam.nix
Normal file
|
@ -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}
|
||||||
|
'';
|
||||||
|
}
|
20
system/work.nix
Normal file
20
system/work.nix
Normal file
|
@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue