aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/cfg/default.nix3
-rw-r--r--share/cfg/firefox/default.nix41
-rw-r--r--share/cfg/fish.nix3
-rw-r--r--share/cfg/gallery-dl.nix35
-rw-r--r--share/cfg/git.nix3
-rw-r--r--share/cfg/helix.nix37
-rw-r--r--share/cfg/hyprland.nix25
-rw-r--r--share/cfg/kitty.nix7
-rw-r--r--share/cfg/mpv.nix3
-rw-r--r--share/cfg/shellenv.nix9
-rw-r--r--share/cfg/tofi.nix3
-rw-r--r--share/cfg/waybar.nix30
-rw-r--r--share/cfg/wpaperd.nix6
-rw-r--r--share/hm-modules/default.nix8
-rw-r--r--share/hm-modules/hyprdesktop.nix78
-rw-r--r--share/hm-modules/wpaperd.nix14
-rw-r--r--share/home/minimal.nix3
-rw-r--r--share/nixos-modules/iwd-ext.nix29
-rw-r--r--share/system/client-common.nix25
-rw-r--r--share/system/common.nix8
-rw-r--r--share/system/spotifyd.nix6
-rw-r--r--share/system/steam.nix12
-rw-r--r--share/system/virt.nix18
23 files changed, 284 insertions, 122 deletions
diff --git a/share/cfg/default.nix b/share/cfg/default.nix
index 9a6407d..ed290a7 100644
--- a/share/cfg/default.nix
+++ b/share/cfg/default.nix
@@ -1,4 +1,5 @@
-{ ... }: {
+{ ... }:
+{
imports = [
../hm-modules
diff --git a/share/cfg/firefox/default.nix b/share/cfg/firefox/default.nix
index 5590d5d..9c486e4 100644
--- a/share/cfg/firefox/default.nix
+++ b/share/cfg/firefox/default.nix
@@ -1,10 +1,10 @@
{ pkgs, ... }:
let
# Concatenate all files in the `./usercss` directory into one string
- css-files =
- map (n: ./usercss/${n}) (builtins.attrNames (builtins.readDir ./usercss));
+ css-files = map (n: ./usercss/${n}) (builtins.attrNames (builtins.readDir ./usercss));
userChrome = builtins.concatStringsSep "\n" (map builtins.readFile css-files);
-in {
+in
+{
home.sessionVariables.BROWSER = "firefox";
programs.firefox = {
@@ -18,29 +18,28 @@ in {
default = "DuckDuckGo";
engines = {
"Nix Packages" = {
- urls = [{
- template = "https://search.nixos.org/packages";
- params = [
- {
- name = "type";
- value = "packages";
- }
- {
- name = "query";
- value = "{searchTerms}";
- }
- ];
- }];
+ urls = [
+ {
+ template = "https://search.nixos.org/packages";
+ params = [
+ {
+ name = "type";
+ value = "packages";
+ }
+ {
+ name = "query";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
- icon =
- "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"NixOS Wiki" = {
- urls = [{
- template = "https://nixos.wiki/index.php?search={searchTerms}";
- }];
+ urls = [ { template = "https://nixos.wiki/index.php?search={searchTerms}"; } ];
iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@nw" ];
diff --git a/share/cfg/fish.nix b/share/cfg/fish.nix
index d697942..62cb6ee 100644
--- a/share/cfg/fish.nix
+++ b/share/cfg/fish.nix
@@ -1,4 +1,5 @@
-{ ... }: {
+{ ... }:
+{
imports = [ ./shellenv.nix ];
programs.starship.enableFishIntegration = true;
diff --git a/share/cfg/gallery-dl.nix b/share/cfg/gallery-dl.nix
index 802141f..3ee065b 100644
--- a/share/cfg/gallery-dl.nix
+++ b/share/cfg/gallery-dl.nix
@@ -1,4 +1,5 @@
-{ config, ... }: {
+{ config, ... }:
+{
programs.gallery-dl = {
settings.extractor = {
base-directory = "${config.xdg.userDirs.download}/gallery-dl";
@@ -7,15 +8,24 @@
{
name = "metadata";
mode = "json";
- whitelist =
- [ "danbooru" "moebooru" "gelbooru" "sankaku" "nhentai" "rule34" ];
+ whitelist = [
+ "danbooru"
+ "moebooru"
+ "gelbooru"
+ "sankaku"
+ "nhentai"
+ "rule34"
+ ];
}
{
name = "zip";
compression = "store";
extension = "cbz";
filter = "extension not in ('zip', 'rar')";
- whitelist = [ "nhentai" "mangadex" ];
+ whitelist = [
+ "nhentai"
+ "mangadex"
+ ];
}
];
@@ -24,14 +34,21 @@
reddit = {
archive-format = "s_{subreddit}{filename}";
directory = {
- "locals().get('is_gallery')" =
- [ "Reddit" "S" "{subreddit!C}" "{title[:120]!t:?/_/R /_/}{id}" ];
- "" = [ "Reddit" "S" "{subreddit!C}" ];
+ "locals().get('is_gallery')" = [
+ "Reddit"
+ "S"
+ "{subreddit!C}"
+ "{title[:120]!t:?/_/R /_/}{id}"
+ ];
+ "" = [
+ "Reddit"
+ "S"
+ "{subreddit!C}"
+ ];
};
filename = {
- "locals().get('is_gallery')" =
- "{title[:120]!t:?/_/R /_/}{id}{num:?_//>02}.{extension}";
+ "locals().get('is_gallery')" = "{title[:120]!t:?/_/R /_/}{id}{num:?_//>02}.{extension}";
"" = "{title[:120]!t:?/_/R /_/}{id}.{extension}";
};
};
diff --git a/share/cfg/git.nix b/share/cfg/git.nix
index 67170a0..eb05865 100644
--- a/share/cfg/git.nix
+++ b/share/cfg/git.nix
@@ -1,4 +1,5 @@
-{ ... }: {
+{ ... }:
+{
programs.git = {
userEmail = "miran.bastaja04@gmail.com";
userName = "Miran Bastaja";
diff --git a/share/cfg/helix.nix b/share/cfg/helix.nix
index 78c22fe..dd99557 100644
--- a/share/cfg/helix.nix
+++ b/share/cfg/helix.nix
@@ -1,9 +1,11 @@
{
-# inputs,
-pkgs,
-# config,
-# lib,
-... }: {
+ # inputs,
+ pkgs,
+ # config,
+ # lib,
+ ...
+}:
+{
programs.helix = {
defaultEditor = true;
extraPackages = with pkgs; [
@@ -64,8 +66,7 @@ pkgs,
command = "astro-ls";
args = [ "--stdio" ];
config = {
- typescript.tsdk =
- "${pkgs.typescript}/lib/node_modules/typescript/lib";
+ typescript.tsdk = "${pkgs.typescript}/lib/node_modules/typescript/lib";
environment = "node";
};
# language-server.snippets-html = {
@@ -96,8 +97,14 @@ pkgs,
scope = "source.astro";
injection-regex = "astro";
file-types = [ "astro" ];
- roots = [ "package.json" "astro.config.mjs" ];
- language-servers = [ "astro-ls" "emmet-ls" ];
+ roots = [
+ "package.json"
+ "astro.config.mjs"
+ ];
+ language-servers = [
+ "astro-ls"
+ "emmet-ls"
+ ];
auto-format = true;
}
{
@@ -124,14 +131,22 @@ pkgs,
{
name = "typescript";
shebangs = [ "deno" ];
- roots = [ "deno.json" "deno.jsonc" "package.json" ];
+ roots = [
+ "deno.json"
+ "deno.jsonc"
+ "package.json"
+ ];
auto-format = true;
language-servers = [ "deno-lsp" ];
}
];
}; # end of languages
- ignores = [ "*.lock" "!.gitignore" "!.cargo" ];
+ ignores = [
+ "*.lock"
+ "!.gitignore"
+ "!.cargo"
+ ];
}; # end of programs.helix
# xdg.configFile = {
diff --git a/share/cfg/hyprland.nix b/share/cfg/hyprland.nix
index 629f105..b9353ef 100644
--- a/share/cfg/hyprland.nix
+++ b/share/cfg/hyprland.nix
@@ -17,7 +17,8 @@ let
};
terminal = "kitty";
};
-in {
+in
+{
wayland.windowManager.hyprland = {
extraConfig = ''
$mod = SUPER
@@ -35,12 +36,22 @@ in {
# workspaces
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
- ${builtins.concatStringsSep "\n" (builtins.genList (x:
- let ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10));
- in ''
- bind = $mod, ${ws}, workspace, ${toString (x + 1)}
- bind = $mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}
- '') 10)}
+ ${builtins.concatStringsSep "\n" (
+ builtins.genList (
+ x:
+ let
+ ws =
+ let
+ c = (x + 1) / 10;
+ in
+ builtins.toString (x + 1 - (c * 10));
+ in
+ ''
+ bind = $mod, ${ws}, workspace, ${toString (x + 1)}
+ bind = $mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}
+ ''
+ ) 10
+ )}
bind = $mod SHIFT, C, killactive
bind = $mod SHIFT, F, togglefloating
diff --git a/share/cfg/kitty.nix b/share/cfg/kitty.nix
index a28091b..9cf33f8 100644
--- a/share/cfg/kitty.nix
+++ b/share/cfg/kitty.nix
@@ -1,4 +1,5 @@
-{ pkgs, ... }: {
+{ pkgs, ... }:
+{
programs.kitty = {
theme = "Mayukai";
@@ -24,5 +25,7 @@
};
};
- home.shellAliases = { s = "kitty +kitten ssh"; };
+ home.shellAliases = {
+ s = "kitty +kitten ssh";
+ };
}
diff --git a/share/cfg/mpv.nix b/share/cfg/mpv.nix
index 427ed33..f86da15 100644
--- a/share/cfg/mpv.nix
+++ b/share/cfg/mpv.nix
@@ -1,4 +1,5 @@
-{ config, ... }: {
+{ config, ... }:
+{
programs.mpv = {
config = {
# The format is '<Filename without extension> [<screenshot number>].<ext>'
diff --git a/share/cfg/shellenv.nix b/share/cfg/shellenv.nix
index 16b28ac..0b1e7d6 100644
--- a/share/cfg/shellenv.nix
+++ b/share/cfg/shellenv.nix
@@ -1,11 +1,16 @@
-{ ... }: {
+{ ... }:
+{
home.shellAliases = {
ltg = "ls --git --tree";
ltgi = "ltg --git-ignore";
};
programs.eza = {
icons = true;
- extraOptions = [ "--header" "--group-directories-first" "--long" ];
+ extraOptions = [
+ "--header"
+ "--group-directories-first"
+ "--long"
+ ];
};
programs.starship = {
diff --git a/share/cfg/tofi.nix b/share/cfg/tofi.nix
index 998b6dc..433a911 100644
--- a/share/cfg/tofi.nix
+++ b/share/cfg/tofi.nix
@@ -1,4 +1,5 @@
-{ lib, config, ... }: {
+{ lib, config, ... }:
+{
# Tofi's cache seems to get messed up sometimes, so we regenerate it when
# building the system.
# https://github.com/philj56/tofi/issues/115#issuecomment-1701748297
diff --git a/share/cfg/waybar.nix b/share/cfg/waybar.nix
index 892850a..bd6cc96 100644
--- a/share/cfg/waybar.nix
+++ b/share/cfg/waybar.nix
@@ -1,4 +1,5 @@
-{ lib, ... }: {
+{ lib, ... }:
+{
programs.waybar = {
systemd = {
enable = true;
@@ -24,15 +25,34 @@
];
# TODO: fix clock format
- clock = { format = "{:%H:%M}"; };
+ clock = {
+ format = "{:%H:%M}";
+ };
"battery#capacity" = {
- format = lib.concatStringsSep "\n" [ "{icon}" "{capacity}%" ];
- format-icons = [ "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
+ format = lib.concatStringsSep "\n" [
+ "{icon}"
+ "{capacity}%"
+ ];
+ format-icons = [
+ "󰁺"
+ "󰁻"
+ "󰁼"
+ "󰁽"
+ "󰁾"
+ "󰁿"
+ "󰂀"
+ "󰂁"
+ "󰂂"
+ "󰁹"
+ ];
};
"battery#power" = {
- format = lib.concatStringsSep "\n" [ "󱐋" "{power:4.1f}W" ];
+ format = lib.concatStringsSep "\n" [
+ "󱐋"
+ "{power:4.1f}W"
+ ];
interval = 1;
};
diff --git a/share/cfg/wpaperd.nix b/share/cfg/wpaperd.nix
index f5e58b4..3760caf 100644
--- a/share/cfg/wpaperd.nix
+++ b/share/cfg/wpaperd.nix
@@ -2,8 +2,10 @@
# /share/hm-modules/wpaperd.nix. In order to use this config you have to also
# import that module.
{ config, ... }:
-let wallpapers-dir = "${config.xdg.userDirs.pictures}/Wallpapers";
-in {
+let
+ wallpapers-dir = "${config.xdg.userDirs.pictures}/Wallpapers";
+in
+{
services.wpaperd = {
settings.default = {
path = wallpapers-dir;
diff --git a/share/hm-modules/default.nix b/share/hm-modules/default.nix
index e20d424..c4ddc87 100644
--- a/share/hm-modules/default.nix
+++ b/share/hm-modules/default.nix
@@ -1 +1,7 @@
-{ ... }: { imports = [ ./hyprdesktop.nix ./wpaperd.nix ]; }
+{ ... }:
+{
+ imports = [
+ ./hyprdesktop.nix
+ ./wpaperd.nix
+ ];
+}
diff --git a/share/hm-modules/hyprdesktop.nix b/share/hm-modules/hyprdesktop.nix
index a9f2ed4..20e52ab 100644
--- a/share/hm-modules/hyprdesktop.nix
+++ b/share/hm-modules/hyprdesktop.nix
@@ -1,8 +1,21 @@
-{ config, pkgs, lib, ... }:
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
let
- inherit (lib) mkIf mkOption mkEnableOption types mdDoc lists;
+ inherit (lib)
+ mkIf
+ mkOption
+ mkEnableOption
+ types
+ mdDoc
+ lists
+ ;
cfg = config.custom.hyprdesktop;
-in {
+in
+{
imports = [ ../home/minimal.nix ];
options.custom.hyprdesktop = {
@@ -49,7 +62,8 @@ in {
config = mkIf cfg.enable {
wayland.windowManager.hyprland.enable = true;
- home.packages = with pkgs;
+ home.packages =
+ with pkgs;
[
xh # Nice to use HTTP client
bc # CLI calculator
@@ -107,20 +121,28 @@ in {
# Flat-Remix icon themes don't contain all the icons that Foliate uses,
# so I'm bringing in the adwaita icons as a fallback.
gnome3.adwaita-icon-theme
- ] ++ lists.optionals cfg.hasBluetooth [ overskride ]
+ ]
+ ++ lists.optionals cfg.hasBluetooth [ overskride ]
++ lists.optionals cfg.enableGaming [
jdk17_headless
superTuxKart
wineWowPackages.full
winetricks
- ] ++ lists.optionals (cfg.enableWindowsCompat || cfg.enableGaming) [
+ ]
+ ++ lists.optionals (cfg.enableWindowsCompat || cfg.enableGaming) [
wineWowPackages.full
winetricks
qemu_kvm
- ] ++ lists.optionals cfg.hasBrightnessCtl [ brightnessctl ]
- ++ lists.optionals cfg.enableGitAnnex [ git-annex git-remote-gcrypt ];
+ ]
+ ++ lists.optionals cfg.hasBrightnessCtl [ brightnessctl ]
+ ++ lists.optionals cfg.enableGitAnnex [
+ git-annex
+ git-remote-gcrypt
+ ];
- home.shellAliases = { sl = "sl -awFc5"; };
+ home.shellAliases = {
+ sl = "sl -awFc5";
+ };
services.dunst.enable = true;
services.wpaperd.enable = true;
@@ -152,22 +174,28 @@ in {
};
xdg = {
- systemDirs.data = let
- gds = pkgs.gsettings-desktop-schemas;
- gtk3 = pkgs.gtk3;
- in [
- "${gds}/share/gsettings-schemas/${gds.name}"
- "${gtk3}/share/gsettings-schemas/${gtk3.name}"
- ];
- userDirs = let annex = "${config.home.homeDirectory}/Annex";
- in {
- enable = true;
- createDirectories = true;
- } // mkIf cfg.enableGitAnnex {
- pictures = "${annex}/Pictures";
- music = "${annex}/Music";
- documents = "${annex}/Documents";
- };
+ systemDirs.data =
+ let
+ gds = pkgs.gsettings-desktop-schemas;
+ gtk3 = pkgs.gtk3;
+ in
+ [
+ "${gds}/share/gsettings-schemas/${gds.name}"
+ "${gtk3}/share/gsettings-schemas/${gtk3.name}"
+ ];
+ userDirs =
+ let
+ annex = "${config.home.homeDirectory}/Annex";
+ in
+ {
+ enable = true;
+ createDirectories = true;
+ }
+ // mkIf cfg.enableGitAnnex {
+ pictures = "${annex}/Pictures";
+ music = "${annex}/Music";
+ documents = "${annex}/Documents";
+ };
portal.xdgOpenUsePortal = true;
};
diff --git a/share/hm-modules/wpaperd.nix b/share/hm-modules/wpaperd.nix
index 022f54d..82aacb5 100644
--- a/share/hm-modules/wpaperd.nix
+++ b/share/hm-modules/wpaperd.nix
@@ -1,9 +1,15 @@
-{ config, lib, pkgs, ... }:
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
with lib;
let
cfg = config.services.wpaperd;
tomlFormat = pkgs.formats.toml { };
-in {
+in
+{
options.services.wpaperd = {
enable = mkEnableOption "enable wpaperd";
@@ -44,9 +50,7 @@ in {
};
config = mkIf cfg.enable {
- assertions = [
- (hm.assertions.assertPlatform "services.wpaperd" pkgs platforms.linux)
- ];
+ assertions = [ (hm.assertions.assertPlatform "services.wpaperd" pkgs platforms.linux) ];
home.packages = [ cfg.package ];
diff --git a/share/home/minimal.nix b/share/home/minimal.nix
index 566fa42..e78862d 100644
--- a/share/home/minimal.nix
+++ b/share/home/minimal.nix
@@ -1,6 +1,7 @@
# This module contains a bunch of things that make up a minimal environment that
# I want on ALL of my machines.
-{ pkgs, config, ... }: {
+{ pkgs, config, ... }:
+{
home.packages = with pkgs; [
curl
git
diff --git a/share/nixos-modules/iwd-ext.nix b/share/nixos-modules/iwd-ext.nix
index 09327a9..754be40 100644
--- a/share/nixos-modules/iwd-ext.nix
+++ b/share/nixos-modules/iwd-ext.nix
@@ -1,6 +1,17 @@
-{ config, lib, pkgs, ... }:
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
let
- inherit (lib) mkEnableOption mkIf mkOption types recursiveUpdate;
+ inherit (lib)
+ mkEnableOption
+ mkIf
+ mkOption
+ types
+ recursiveUpdate
+ ;
cfg = config.networking.wireless.iwd-ext;
ini = pkgs.formats.ini { };
@@ -8,12 +19,14 @@ let
# without UseDefaultInterface, sometimes wlan0 simply goes AWOL with
# NetworkManager
# https://iwd.wiki.kernel.org/interface_lifecycle#interface_management_in_iwd
- General.UseDefaultInterface = with config.networking.networkmanager;
+ General.UseDefaultInterface =
+ with config.networking.networkmanager;
(enable && (wifi.backend == "iwd"));
};
configFile = ini.generate "main.conf" (recursiveUpdate defaults cfg.settings);
-in {
+in
+{
options.networking.wireless.iwd-ext = {
enable = mkEnableOption (lib.mdDoc "iwd");
@@ -50,8 +63,12 @@ in {
type = types.attrsOf ini.type;
default = { };
example = {
- HomeNetwork = { Security.PreSharedKey = "totallysecurepsk"; };
- "@NETWORK_2_SSID@" = { Security.PreSharedKey = "@NETWORK_2_PSK@"; };
+ HomeNetwork = {
+ Security.PreSharedKey = "totallysecurepsk";
+ };
+ "@NETWORK_2_SSID@" = {
+ Security.PreSharedKey = "@NETWORK_2_PSK@";
+ };
};
description = lib.mdDoc ''
diff --git a/share/system/client-common.nix b/share/system/client-common.nix
index 4d3c3ca..e3d2b60 100644
--- a/share/system/client-common.nix
+++ b/share/system/client-common.nix
@@ -1,9 +1,13 @@
# Common configuration options for client machines (i.e. not servers)
-{ pkgs, ... }: {
+{ pkgs, ... }:
+{
imports = [ ./steam.nix ];
programs.hyprland.enable = true;
- boot.supportedFilesystems = [ "ntfs" "bcachefs" ];
+ boot.supportedFilesystems = [
+ "ntfs"
+ "bcachefs"
+ ];
nixpkgs.config.allowUnfree = true;
nix.gc = {
@@ -17,7 +21,11 @@
useNetworkd = true;
firewall = {
enable = true;
- allowedTCPPorts = [ 80 443 34197 ];
+ allowedTCPPorts = [
+ 80
+ 443
+ 34197
+ ];
};
};
services.mullvad-vpn.enable = true;
@@ -34,7 +42,9 @@
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-gnome3;
- settings = { default-cache-ttl = 1200; };
+ settings = {
+ default-cache-ttl = 1200;
+ };
};
sound.enable = true;
@@ -49,7 +59,12 @@
noto-fonts-cjk
noto-fonts-emoji
proggyfonts
- (nerdfonts.override { fonts = [ "FiraCode" "CascadiaCode" ]; })
+ (nerdfonts.override {
+ fonts = [
+ "FiraCode"
+ "CascadiaCode"
+ ];
+ })
overpass
inter
];
diff --git a/share/system/common.nix b/share/system/common.nix
index b280667..a785573 100644
--- a/share/system/common.nix
+++ b/share/system/common.nix
@@ -1,8 +1,12 @@
# Common system settings shared across every machine
# Used mostly for adding substituters and such
-{ ... }: {
+{ ... }:
+{
nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
+ experimental-features = [
+ "nix-command"
+ "flakes"
+ ];
auto-optimise-store = true;
};
}
diff --git a/share/system/spotifyd.nix b/share/system/spotifyd.nix
index 5e04898..406d5bf 100644
--- a/share/system/spotifyd.nix
+++ b/share/system/spotifyd.nix
@@ -1,6 +1,8 @@
{ config, ... }:
-let secrets = config.sops.secrets;
-in {
+let
+ secrets = config.sops.secrets;
+in
+{
services.spotifyd = {
enable = true;
settings.global = {
diff --git a/share/system/steam.nix b/share/system/steam.nix
index 7137bfa..4217d9d 100644
--- a/share/system/steam.nix
+++ b/share/system/steam.nix
@@ -1,23 +1,23 @@
-{ lib, ... }: {
+{ lib, ... }:
+{
programs.steam.enable = true;
nixpkgs.config = {
- allowUnfreePredicate = pkg:
+ allowUnfreePredicate =
+ pkg:
builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-runtime"
];
packageOverrides = pkgs: {
- steam =
- pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ libgdiplus ]; };
+ steam = pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ libgdiplus ]; };
};
};
environment.sessionVariables = rec {
# Steam needs this to find Proton-GE
- STEAM_EXTRA_COMPAT_TOOLS_PATHS =
- "\${HOME}/.steam/root/compatibilitytools.d";
+ STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
# note: this doesn't replace PATH, it just adds this to it
PATH = [ "\${XDG_BIN_HOME}" ];
};
diff --git a/share/system/virt.nix b/share/system/virt.nix
index 6f5a9fe..ac74332 100644
--- a/share/system/virt.nix
+++ b/share/system/virt.nix
@@ -1,10 +1,18 @@
-{ pkgs, virt-users ? [ ], ... }:
+{
+ pkgs,
+ virt-users ? [ ],
+ ...
+}:
let
# https://stackoverflow.com/questions/75855410/nix-map-list-of-keys-to-attribute-set-members
- attrSetRepeatValue = value: list:
- let acc = { }; # accumulator
- in builtins.foldl' (acc: key: acc // { "${key}" = value; }) acc list;
-in {
+ attrSetRepeatValue =
+ value: list:
+ let
+ acc = { }; # accumulator
+ in
+ builtins.foldl' (acc: key: acc // { "${key}" = value; }) acc list;
+in
+{
users.users = attrSetRepeatValue { extraGroups = [ "libvirtd" ]; } virt-users;
home-manager.users = attrSetRepeatValue {