summaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-03-31 13:18:59 -0400
committerAndrew Opalach <andrew@akon.city> 2025-03-31 13:18:59 -0400
commit56d74ee6b8ba7ac9572814f556891e86525f7663 (patch)
tree3253e4e9b581e1c33b52e54ed09d7c761797bd88 /nix
parentd907076ef8d0fcfcb8f99581aa3cc8052634a654 (diff)
downloaddotfiles-56d74ee6b8ba7ac9572814f556891e86525f7663.tar.gz
dotfiles-56d74ee6b8ba7ac9572814f556891e86525f7663.tar.bz2
dotfiles-56d74ee6b8ba7ac9572814f556891e86525f7663.zip
Experiment with "as needed" packages and cleanup
Diffstat (limited to 'nix')
-rw-r--r--nix/amdgpu.nix4
-rw-r--r--nix/audio.nix10
-rw-r--r--nix/gaming.nix60
-rw-r--r--nix/intel.nix4
-rw-r--r--nix/programs/firefox.nix4
-rw-r--r--nix/programs/foot.nix39
-rw-r--r--nix/programs/kitty.nix67
-rw-r--r--nix/programs/nvim.nix2
-rw-r--r--nix/programs/sway.nix163
-rw-r--r--nix/scripts.nix18
-rw-r--r--nix/system.nix6
-rw-r--r--nix/user.nix39
-rw-r--r--nix/utils.nix7
-rw-r--r--nix/virtualisation.nix5
14 files changed, 207 insertions, 221 deletions
diff --git a/nix/amdgpu.nix b/nix/amdgpu.nix
index 32b317b..3b6a1c6 100644
--- a/nix/amdgpu.nix
+++ b/nix/amdgpu.nix
@@ -4,8 +4,8 @@
VDPAU_DRIVER = "radeonsi";
LIBVA_DRIVER_NAME = "radeonsi";
AMD_VULKAN_ICD = "RADV";
- VK_ICD_FILENAMES="${pkgs.pkgsi686Linux.mesa.drivers}/share/vulkan/icd.d/radeon_icd.i686.json:${pkgs.mesa.drivers}/share/vulkan/icd.d/radeon_icd.x86_64.json";
- __EGL_VENDOR_LIBRARY_FILENAMES="${pkgs.pkgsi686Linux.mesa.drivers}/share/glvnd/egl_vendor.d/50_mesa.json:${pkgs.mesa.drivers}/share/glvnd/egl_vendor.d/50_mesa.json";
+ VK_ICD_FILENAMES="${pkgs.pkgsi686Linux.mesa}/share/vulkan/icd.d/radeon_icd.i686.json:${pkgs.mesa}/share/vulkan/icd.d/radeon_icd.x86_64.json";
+ __EGL_VENDOR_LIBRARY_FILENAMES="${pkgs.pkgsi686Linux.mesa}/share/glvnd/egl_vendor.d/50_mesa.json:${pkgs.mesa}/share/glvnd/egl_vendor.d/50_mesa.json";
};
environment.systemPackages = with pkgs; [
radeontop
diff --git a/nix/audio.nix b/nix/audio.nix
index e8a57ff..da59310 100644
--- a/nix/audio.nix
+++ b/nix/audio.nix
@@ -5,9 +5,9 @@
# };
# nixpkgs.config.pulseaudio = true;
services.pipewire = {
- enable = false;
- pulse.enable = false;
- alsa.enable = false;
+ enable = true;
+ pulse.enable = true;
+ alsa.enable = true;
alsa.support32Bit = true;
extraConfig = {
# cat /proc/asound/card1/stream0
@@ -24,7 +24,6 @@
"default.video.height" = 480;
"default.video.rate.num" = 25;
"default.video.rate.denom" = 1;
- "vm.overrides" = { };
};
"context.modules" = [{
"name" = "libpipewire-module-filter-chain";
@@ -78,7 +77,6 @@
"pulse.properties" = {
"pulse.default.format" = "S32";
"pulse.default.position" = [ "FL" "FR" ];
- "vm.overrides" = { };
};
"stream.properties" = {
"resample.quality" = 8;
@@ -105,7 +103,7 @@
};
environment.systemPackages = with pkgs; [
pipewire
- (pavucontrol.override { withLibcanberra = false; })
+ pavucontrol
];
environment.etc = {
"convolver/Focal_Elegia_minimum_phase_44100Hz.wav".source = ../files/convolver/Focal_Elegia_minimum_phase_44100Hz.wav;
diff --git a/nix/gaming.nix b/nix/gaming.nix
index d1e90bf..a2d866f 100644
--- a/nix/gaming.nix
+++ b/nix/gaming.nix
@@ -1,28 +1,25 @@
-{ config, pkgs, ... }:
-let
- s = config.local;
+{ config, lib, pkgs, ... }: let
+ loc = config.local;
+ colo = loc.scheme;
+ inherit (import ./utils.nix) asNeeded;
in {
users.users.andrew = {
extraGroups = [ "gamemode" ];
};
- environment.systemPackages = with pkgs; [
+ environment.systemPackages = with pkgs; lib.lists.flatten [
mangohud
- umu-launcher
- protontricks
- lutris
- #legendary-gl
- prismlauncher
- jdk21
- #retroarch
- #dolphin-emu
- #pcsx2
- #(ppsspp.override { enableQt = true; })
- #cemu
- rpcs3
- #ryujinx
- osu-lazer-bin
- parsec-bin
- #r2modman
+ (asNeeded lib pkgs "protontricks" ["protontricks" "protontricks-launch"])
+ (asNeeded lib pkgs "[lutris umu-launcher]" ["lutris"])
+ (asNeeded lib pkgs "prismlauncher" ["prismlauncher"])
+ (asNeeded lib pkgs "retroarch" ["retroarch"])
+ (asNeeded lib pkgs "dolphin-emu" ["dolphin-emu"])
+ (asNeeded lib pkgs "pcsx2" ["pcsx2-qt"])
+ (asNeeded lib pkgs "(ppsspp.override { enableQt = true; })" ["ppsspp"])
+ (asNeeded lib pkgs "cemu" ["cemu"])
+ (asNeeded lib pkgs "rpcs3" ["rpcs3"])
+ (asNeeded lib pkgs "ryujinx" ["ryujinx"])
+ (asNeeded lib pkgs "osu-lazer-bin" ["osu!"])
+ (asNeeded lib pkgs "parsec-bin" ["parsecd"])
(pkgs.writeShellScriptBin "run-steam-gamescope" ''
export TTY=/dev/tty4
export XDG_VTNR=4
@@ -38,7 +35,7 @@ in {
export VKD3D_DEBUG=none
export VKD3D_SHADER_DEBUG=none
export mesa_glthread=true
- xrandr --output ${s.monitors.monitor1} --primary
+ xrandr --output ${loc.monitors.monitor1} --primary
exec env --unset=SDL_VIDEODRIVER --unset=SDL_VIDEO_DRIVER MANGOHUD=1 gamemoderun "$@"
'')
];
@@ -65,20 +62,6 @@ in {
};
programs.steam = {
enable = true;
- package = pkgs.steam.override {
- extraPkgs = pkgs: with pkgs; [
- xorg.libXcursor
- xorg.libXi
- xorg.libXinerama
- xorg.libXScrnSaver
- libpng
- libpulseaudio
- libvorbis
- stdenv.cc.cc.lib
- libkrb5
- keyutils
- ];
- };
gamescopeSession = let
width = "2560";
height = "1440";
@@ -88,14 +71,14 @@ in {
"-W ${width}" "-H ${height}"
"-w ${width}" "-h ${height}"
"-r 144"
- "-O ${s.monitors.monitor1}"
+ "-O ${loc.monitors.monitor1}"
"--rt"
"-f"
"-e"
# "-o 10"
"--adaptive-sync"
# "--force-grab-cursor"
-# "--mangoapp"
+ "--mangoapp"
];
};
};
@@ -137,8 +120,11 @@ in {
cpu_mhz = true;
vulkan_driver = true;
gpu_name = true;
+ gpu_power = true;
+ gpu_temp = true;
gpu_junction_temp = true;
gpu_core_clock = true;
+ gpu_voltage = true;
vram = true;
gpu_mem_temp = true;
gpu_mem_clock = true;
diff --git a/nix/intel.nix b/nix/intel.nix
index 8601f6b..0ebfb8f 100644
--- a/nix/intel.nix
+++ b/nix/intel.nix
@@ -3,8 +3,8 @@
VDPAU_DRIVER = "va_gl";
LIBVA_DRIVER_NAME = "iHD";
AMD_VULKAN_ICD = "ANV";
- VK_ICD_FILENAMES="${pkgs.pkgsi686Linux.mesa.drivers}/share/vulkan/icd.d/intel_icd.i686.json:${pkgs.mesa.drivers}/share/vulkan/icd.d/intel_icd.x86_64.json";
- __EGL_VENDOR_LIBRARY_FILENAMES="${pkgs.pkgsi686Linux.mesa.drivers}/share/glvnd/egl_vendor.d/50_mesa.json:${pkgs.mesa.drivers}/share/glvnd/egl_vendor.d/50_mesa.json";
+ VK_ICD_FILENAMES="${pkgs.pkgsi686Linux.mesa}/share/vulkan/icd.d/intel_icd.i686.json:${pkgs.mesa}/share/vulkan/icd.d/intel_icd.x86_64.json";
+ __EGL_VENDOR_LIBRARY_FILENAMES="${pkgs.pkgsi686Linux.mesa}/share/glvnd/egl_vendor.d/50_mesa.json:${pkgs.mesa}/share/glvnd/egl_vendor.d/50_mesa.json";
};
hardware.graphics = {
extraPackages = with pkgs; [
diff --git a/nix/programs/firefox.nix b/nix/programs/firefox.nix
index 404c3a6..da5aa09 100644
--- a/nix/programs/firefox.nix
+++ b/nix/programs/firefox.nix
@@ -19,8 +19,8 @@ in {
source = (pkgs.fetchFromGitHub {
owner = "rafaelmardojai";
repo = "firefox-gnome-theme";
- rev = "d8a440226dc9030cb793db4562132d8166fcc904";
- hash = "sha256-knaPVGni+v431hidyJ/HOKITFzQs0PaxuainC603jjo=";
+ rev = "a1795946debb5f21dfa5d328a6f1b68984f810fc";
+ hash = "sha256-CoGE9+8oVnnOOTStPQ9C87gp0C6vgf0tN3ls7MuKZiE=";
});
};
home.file."customChrome.css" = {
diff --git a/nix/programs/foot.nix b/nix/programs/foot.nix
index 9cc9fa9..5c85ce7 100644
--- a/nix/programs/foot.nix
+++ b/nix/programs/foot.nix
@@ -1,6 +1,7 @@
{ config, pkgs, ... }:
let
- s = config.local;
+ loc = config.local;
+ colo = loc.scheme;
in {
environment.sessionVariables = {
TERMINAL = "${pkgs.foot}/bin/footclient";
@@ -14,24 +15,24 @@ in {
font = "${s.font.name}:size=${toString s.font.size}";
};
colors = {
- foreground = "${s.scheme.foreground}";
- background = "${s.scheme.background}";
- regular0 = "${s.scheme.color0}";
- regular1 = "${s.scheme.color1}";
- regular2 = "${s.scheme.color2}";
- regular3 = "${s.scheme.color3}";
- regular4 = "${s.scheme.color4}";
- regular5 = "${s.scheme.color5}";
- regular6 = "${s.scheme.color6}";
- regular7 = "${s.scheme.color7}";
- bright0 = "${s.scheme.color8}";
- bright1 = "${s.scheme.color9}";
- bright2 = "${s.scheme.color10}";
- bright3 = "${s.scheme.color11}";
- bright4 = "${s.scheme.color12}";
- bright5 = "${s.scheme.color13}";
- bright6 = "${s.scheme.color14}";
- bright7 = "${s.scheme.color15}";
+ foreground = "${colo.foreground}";
+ background = "${colo.background}";
+ regular0 = "${colo.color0}";
+ regular1 = "${colo.color1}";
+ regular2 = "${colo.color2}";
+ regular3 = "${colo.color3}";
+ regular4 = "${colo.color4}";
+ regular5 = "${colo.color5}";
+ regular6 = "${colo.color6}";
+ regular7 = "${colo.color7}";
+ bright0 = "${colo.color8}";
+ bright1 = "${colo.color9}";
+ bright2 = "${colo.color10}";
+ bright3 = "${colo.color11}";
+ bright4 = "${colo.color12}";
+ bright5 = "${colo.color13}";
+ bright6 = "${colo.color14}";
+ bright7 = "${colo.color15}";
alpha = "1.0";
};
};
diff --git a/nix/programs/kitty.nix b/nix/programs/kitty.nix
index e3238eb..5f0c91b 100644
--- a/nix/programs/kitty.nix
+++ b/nix/programs/kitty.nix
@@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }:
let
- s = config.local;
+ loc = config.local;
+ colo = loc.scheme;
in {
environment.sessionVariables = {
TERMINAL = "${pkgs.kitty}/bin/kitty -1";
@@ -9,8 +10,8 @@ in {
programs.kitty = {
enable = true;
font = {
- name = s.font.name;
- size = s.font.size;
+ name = loc.font.name;
+ size = loc.font.size;
};
shellIntegration = {
mode = "enabled";
@@ -20,7 +21,7 @@ in {
shell ${pkgs.bashInteractive}/bin/bash --login
update_check_interval 0
confirm_os_window_close 0
- sync_to_monitor yes
+ sync_to_monitor no
allow_remote_control yes
linux_display_server wayland
remember_window_size no
@@ -29,41 +30,41 @@ in {
scrollback_lines 3000
paste_actions confirm,confirm-if-large
disable_ligatures always
- modify_font baseline ${toString s.font.baseline}
- cursor #${s.scheme.foreground}
+ modify_font baseline ${toString loc.font.baseline}
+ cursor #${colo.foreground}
cursor_shape block
#cursor_blink_interval -1 linear ease-out
#cursor_stop_blinking_after 20.0
cursor_trail 35
cursor_trail_decay 0.1 0.5
cursor_trail_start_threshold 2
- foreground #${s.scheme.foreground}
- background #${s.scheme.background}
- color0 #${s.scheme.color0}
- color1 #${s.scheme.color1}
- color2 #${s.scheme.color2}
- color3 #${s.scheme.color3}
- color4 #${s.scheme.color4}
- color5 #${s.scheme.color5}
- color6 #${s.scheme.color6}
- color7 #${s.scheme.color7}
- color8 #${s.scheme.color8}
- color9 #${s.scheme.color9}
- color10 #${s.scheme.color10}
- color11 #${s.scheme.color11}
- color12 #${s.scheme.color12}
- color13 #${s.scheme.color13}
- color14 #${s.scheme.color14}
- color15 #${s.scheme.color15}
- selection_foreground #${s.scheme.background}
- selection_background #${s.scheme.color6}
- mark1_foreground #${s.scheme.background}
- mark1_background #${s.scheme.color5}
- mark2_foreground #${s.scheme.background}
- mark2_background #${s.scheme.color6}
- mark3_foreground #${s.scheme.background}
- mark3_background #${s.scheme.color4}
- background_opacity ${toString s.scheme.alpha}
+ foreground #${colo.foreground}
+ background #${colo.background}
+ color0 #${colo.color0}
+ color1 #${colo.color1}
+ color2 #${colo.color2}
+ color3 #${colo.color3}
+ color4 #${colo.color4}
+ color5 #${colo.color5}
+ color6 #${colo.color6}
+ color7 #${colo.color7}
+ color8 #${colo.color8}
+ color9 #${colo.color9}
+ color10 #${colo.color10}
+ color11 #${colo.color11}
+ color12 #${colo.color12}
+ color13 #${colo.color13}
+ color14 #${colo.color14}
+ color15 #${colo.color15}
+ selection_foreground #${colo.background}
+ selection_background #${colo.color6}
+ mark1_foreground #${colo.background}
+ mark1_background #${colo.color5}
+ mark2_foreground #${colo.background}
+ mark2_background #${colo.color6}
+ mark3_foreground #${colo.background}
+ mark3_background #${colo.color4}
+ background_opacity ${toString colo.alpha}
'';
};
wayland.windowManager.sway = {
diff --git a/nix/programs/nvim.nix b/nix/programs/nvim.nix
index fb779e4..5ff902f 100644
--- a/nix/programs/nvim.nix
+++ b/nix/programs/nvim.nix
@@ -61,7 +61,7 @@ let
hi ModeMsg guifg=#${colo.color4}
hi MoreMsg guifg=#${colo.color2}
hi NonText guifg=#${colo.color6}
- hi NormalFloat guibg=#${colo.background}
+ hi NormalFloat guibg=#${colo.color4}
hi Pmenu guibg=#${colo.color4}
hi PmenuThumb guibg=#${colo.color5}
hi PmenuSel guibg=#${colo.color3}
diff --git a/nix/programs/sway.nix b/nix/programs/sway.nix
index 863a8ef..49efdf6 100644
--- a/nix/programs/sway.nix
+++ b/nix/programs/sway.nix
@@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }:
let
- s = config.local;
+ loc = config.local;
+ colo = loc.scheme;
in {
services.xserver.videoDrivers = [ "modesetting" ];
programs.sway = {
@@ -54,82 +55,82 @@ in {
home.sessionVariables = {
XDG_CURRENT_DESKTOP = "sway";
MOZ_ENABLE_WAYLAND = "1";
- #SDL_VIDEODRIVER = "wayland";
+ SDL_VIDEODRIVER = "wayland";
GDK_BACKEND = "wayland,x11";
QT_QPA_PLATFORM = "wayland;xcb";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
_JAVA_AWT_WM_NONREPARENTING = "1";
};
xresources.properties = {
- "*background" = "#${s.scheme.background}";
- "*foreground" = "#${s.scheme.foreground}";
- "*color0" = "#${s.scheme.color0}";
- "*color1" = "#${s.scheme.color1}";
- "*color2" = "#${s.scheme.color2}";
- "*color3" = "#${s.scheme.color3}";
- "*color4" = "#${s.scheme.color4}";
- "*color5" = "#${s.scheme.color5}";
- "*color6" = "#${s.scheme.color6}";
- "*color7" = "#${s.scheme.color7}";
- "*color8" = "#${s.scheme.color8}";
- "*color9" = "#${s.scheme.color9}";
- "*color10" = "#${s.scheme.color10}";
- "*color11" = "#${s.scheme.color11}";
- "*color12" = "#${s.scheme.color12}";
- "*color13" = "#${s.scheme.color13}";
- "*color14" = "#${s.scheme.color14}";
- "*color15" = "#${s.scheme.color15}";
+ "*background" = "#${colo.background}";
+ "*foreground" = "#${colo.foreground}";
+ "*color0" = "#${colo.color0}";
+ "*color1" = "#${colo.color1}";
+ "*color2" = "#${colo.color2}";
+ "*color3" = "#${colo.color3}";
+ "*color4" = "#${colo.color4}";
+ "*color5" = "#${colo.color5}";
+ "*color6" = "#${colo.color6}";
+ "*color7" = "#${colo.color7}";
+ "*color8" = "#${colo.color8}";
+ "*color9" = "#${colo.color9}";
+ "*color10" = "#${colo.color10}";
+ "*color11" = "#${colo.color11}";
+ "*color12" = "#${colo.color12}";
+ "*color13" = "#${colo.color13}";
+ "*color14" = "#${colo.color14}";
+ "*color15" = "#${colo.color15}";
};
gtk = let
# *_shade_color is adjusted from black by default.
extraCss3 = ''
- @define-color window_bg_color #${s.scheme.background};
- @define-color window_fg_color #${s.scheme.foreground};
- @define-color view_bg_color #${s.scheme.background};
- @define-color view_fg_color #${s.scheme.foreground};
- @define-color accent_bg_color #${s.scheme.color4};
- @define-color accent_fg_color #${s.scheme.background};
- @define-color accent_color #${s.scheme.color4};
- @define-color headerbar_bg_color #${s.scheme.background};
- @define-color headerbar_fg_color #${s.scheme.foreground};
- @define-color headerbar_backdrop_color #${s.scheme.background};
- @define-color headerbar_border_color #${s.scheme.color6};
- @define-color secondary_headerbar_bg_color #${s.scheme.background};
- @define-color secondary_headerbar_fg_color #${s.scheme.foreground};
- @define-color secondary_headerbar_backdrop_color #${s.scheme.background};
- @define-color secondary_headerbar_border_color #${s.scheme.color5};
- @define-color thumbnail_bg_color #${s.scheme.background};
- @define-color thumbnail_fg_color #${s.scheme.foreground};
- @define-color card_bg_color #${s.scheme.background};
- @define-color card_fg_color #${s.scheme.foreground};
- @define-color popover_bg_color #${s.scheme.background};
- @define-color popover_fg_color #${s.scheme.foreground};
- @define-color dialog_bg_color #${s.scheme.background};
- @define-color dialog_fg_color #${s.scheme.foreground};
- @define-color panel_bg_color #${s.scheme.background};
- @define-color panel_fg_color #${s.scheme.foreground};
- @define-color sidebar_bg_color #${s.scheme.background};
- @define-color sidebar_fg_color #${s.scheme.foreground};
- @define-color sidebar_backdrop_color #${s.scheme.background};
- @define-color warning_bg_color #${s.scheme.color4};
- @define-color warning_fg_color #${s.scheme.foreground};
- @define-color warning_color #${s.scheme.color4};
- @define-color error_bg_color #${s.scheme.color3};
- @define-color error_fg_color #${s.scheme.foreground};
- @define-color error_color #${s.scheme.color3};
- @define-color success_bg_color #${s.scheme.color2};
- @define-color success_fg_color #${s.scheme.background};
- @define-color success_color #${s.scheme.color2};
- @define-color destructive_bg_color #${s.scheme.color5};
- @define-color destructive_fg_color #${s.scheme.background};
- @define-color destructive_color #${s.scheme.color5};
+ @define-color window_bg_color #${colo.background};
+ @define-color window_fg_color #${colo.foreground};
+ @define-color view_bg_color #${colo.background};
+ @define-color view_fg_color #${colo.foreground};
+ @define-color accent_bg_color #${colo.color4};
+ @define-color accent_fg_color #${colo.background};
+ @define-color accent_color #${colo.color4};
+ @define-color headerbar_bg_color #${colo.background};
+ @define-color headerbar_fg_color #${colo.foreground};
+ @define-color headerbar_backdrop_color #${colo.background};
+ @define-color headerbar_border_color #${colo.color6};
+ @define-color secondary_headerbar_bg_color #${colo.background};
+ @define-color secondary_headerbar_fg_color #${colo.foreground};
+ @define-color secondary_headerbar_backdrop_color #${colo.background};
+ @define-color secondary_headerbar_border_color #${colo.color5};
+ @define-color thumbnail_bg_color #${colo.background};
+ @define-color thumbnail_fg_color #${colo.foreground};
+ @define-color card_bg_color #${colo.background};
+ @define-color card_fg_color #${colo.foreground};
+ @define-color popover_bg_color #${colo.background};
+ @define-color popover_fg_color #${colo.foreground};
+ @define-color dialog_bg_color #${colo.background};
+ @define-color dialog_fg_color #${colo.foreground};
+ @define-color panel_bg_color #${colo.background};
+ @define-color panel_fg_color #${colo.foreground};
+ @define-color sidebar_bg_color #${colo.background};
+ @define-color sidebar_fg_color #${colo.foreground};
+ @define-color sidebar_backdrop_color #${colo.background};
+ @define-color warning_bg_color #${colo.color4};
+ @define-color warning_fg_color #${colo.foreground};
+ @define-color warning_color #${colo.color4};
+ @define-color error_bg_color #${colo.color3};
+ @define-color error_fg_color #${colo.foreground};
+ @define-color error_color #${colo.color3};
+ @define-color success_bg_color #${colo.color2};
+ @define-color success_fg_color #${colo.background};
+ @define-color success_color #${colo.color2};
+ @define-color destructive_bg_color #${colo.color5};
+ @define-color destructive_fg_color #${colo.background};
+ @define-color destructive_color #${colo.color5};
'';
extraCss4 = ''
'';
in {
enable = true;
theme = {
- name = "adw-gtk3" + (if s.scheme.lightness == "light" then "" else "-dark");
+ name = "adw-gtk3" + (if colo.lightness == "light" then "" else "-dark");
package = pkgs.adw-gtk3;
};
cursorTheme = {
@@ -156,12 +157,12 @@ in {
settings = {
"<config>" = {
edge = "top";
- font = "${s.ui-font.name} ${toString s.ui-font.size}";
- background = "${s.scheme.background}";
- border = "${s.scheme.background}";
- text = "${s.scheme.foreground}";
- button-text = "${s.scheme.foreground}";
- button-background = "${s.scheme.color6}";
+ font = "${loc.ui-font.name} ${toString loc.ui-font.size}";
+ background = "${colo.background}";
+ border = "${colo.background}";
+ text = "${colo.foreground}";
+ button-text = "${colo.foreground}";
+ button-background = "${colo.color6}";
message-padding = 5;
border-bottom-size = 1;
details-border-size = 1;
@@ -211,7 +212,7 @@ in {
scroll_button = "276";
};
"1386:890:Wacom_One_by_Wacom_S_Pen" = {
- map_to_output = s.monitors.monitor1;
+ map_to_output = loc.monitors.monitor1;
left_handed = "enabled";
};
};
@@ -259,9 +260,9 @@ in {
};
};
fonts = {
- names = [ s.ui-font.name ];
+ names = [ loc.ui-font.name ];
style = "Regular";
- size = s.ui-font.size + 0.0;
+ size = loc.ui-font.size + 0.0;
};
bars = [ ];
window = {
@@ -269,7 +270,8 @@ in {
titlebar = false;
commands = [
{ command = "move to scratchpad"; criteria.app_id = "kitty-server"; }
- { command = "max_render_time 1"; criteria.app_id = "kitty"; }
+ #{ command = "max_render_time 1"; criteria.app_id = "kitty"; }
+ { command = "allow_tearing yes"; criteria.app_id = "kitty"; }
{ command = "inhibit_idle fullscreen; floating enable; max_render_time 1; allow_tearing yes"; criteria.app_id = "cmv"; }
{ command = "floating enable"; criteria.class = "cmv.exe"; }
{ command = "floating enable"; criteria.app_id = "mauri"; }
@@ -281,7 +283,6 @@ in {
{ command = "inhibit_idle fullscreen; allow_tearing yes"; criteria.class = "cs2"; }
{ command = "inhibit_idle fullscreen; allow_tearing yes"; criteria.class = "Minecraft*"; }
{ command = "inhibit_idle fullscreen; allow_tearing yes"; criteria.title = "Overwatch"; }
- { command = "allow_tearing yes"; criteria.title = "vkcube"; }
{ command = "inhibit_idle fullscreen"; criteria.class = "Ryujinx"; }
{ command = "inhibit_idle fullscreen"; criteria.app_id = "org.yuzu_emu.yuzu"; }
{ command = "inhibit_idle fullscreen"; criteria.class = "dolphin-emu"; }
@@ -290,10 +291,10 @@ in {
];
};
colors = let
- bg = "#${s.scheme.background}";
- fg = "#${s.scheme.foreground}";
- ch = "#${s.scheme.color4}";
- urgent = "#${s.scheme.color1}";
+ bg = "#${colo.background}";
+ fg = "#${colo.foreground}";
+ ch = "#${colo.color4}";
+ urgent = "#${colo.color1}";
in {
background = bg;
focused = { background = bg; border = ch; childBorder = ch; indicator = ch; text = fg; };
@@ -305,7 +306,7 @@ in {
startup = let
gnome-schema = "org.gnome.desktop.interface";
in [
- { command = "dconf write /org/gnome/desktop/interface/color-scheme \"'prefer-${s.scheme.lightness}'\""; always = true; }
+ { command = "dconf write /org/gnome/desktop/interface/color-scheme \"'prefer-${colo.lightness}'\""; always = true; }
{ command = "dbus-sway-environment"; }
{ command = "swaymsg 'seat * hide_cursor 4000'"; always = true; }
{ command = "kitty -1 --class=\"kitty-server\""; }
@@ -326,10 +327,10 @@ in {
services.mako = {
enable = true;
defaultTimeout = 14000;
- font = "${s.font.name} ${toString s.ui-font.size}";
- backgroundColor = "#${s.scheme.background}";
- textColor = "#${s.scheme.foreground}";
- borderColor = "#${s.scheme.color6}";
+ font = "${loc.font.name} ${toString loc.ui-font.size}";
+ backgroundColor = "#${colo.background}";
+ textColor = "#${colo.foreground}";
+ borderColor = "#${colo.color6}";
};
};
}
diff --git a/nix/scripts.nix b/nix/scripts.nix
index 97d3ee6..a36d17a 100644
--- a/nix/scripts.nix
+++ b/nix/scripts.nix
@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
let
- s = config.local;
- inherit (import ./settings.nix) scripts;
+ loc = config.local;
+ colo = loc.scheme;
in {
environment.etc = {
"emoji.json".source = builtins.fetchurl {
@@ -12,14 +12,14 @@ in {
environment.systemPackages = [
(pkgs.writeShellScriptBin "bemenu-colored" ''
bemenu -C --single-instance -B 0 -M 0 --hp 6 \
- --fn "${s.font.name} ${toString (s.font.size - 1)}" -H ${toString ((s.font.size - 1) * 2)} \
- --cf "#${s.scheme.foreground}" --cb "#${s.scheme.background}" \
- --hf "#${s.scheme.background}" --hb "#${s.scheme.color4}" \
- --nf "#${s.scheme.foreground}" --nb "#${s.scheme.background}" \
- --ff "#${s.scheme.foreground}" --fb "#${s.scheme.background}" \
- --af "#${s.scheme.foreground}" --ab "#${s.scheme.background}" -p ""
+ --fn "${loc.font.name} ${toString (loc.font.size - 1)}" -H ${toString ((loc.font.size - 1) * 2)} \
+ --cf "#${colo.foreground}" --cb "#${colo.background}" \
+ --hf "#${colo.background}" --hb "#${colo.color4}" \
+ --nf "#${colo.foreground}" --nb "#${colo.background}" \
+ --ff "#${colo.foreground}" --fb "#${colo.background}" \
+ --af "#${colo.foreground}" --ab "#${colo.background}" -p ""
'')
- ] ++ (lib.lists.forEach s.scripts.imports (x: pkgs.writeTextFile {
+ ] ++ (lib.lists.forEach loc.scripts.imports (x: pkgs.writeTextFile {
name = x;
text = (builtins.readFile ../scripts/${x});
executable = true;
diff --git a/nix/system.nix b/nix/system.nix
index 92535f5..5f1943e 100644
--- a/nix/system.nix
+++ b/nix/system.nix
@@ -10,6 +10,9 @@
optimise.automatic = true;
};
+ nixpkgs.config.allowUnfree = true;
+ hardware.enableRedistributableFirmware = true;
+
security.pam.loginLimits = [
{
domain = "*";
@@ -71,9 +74,6 @@
};
};
- nixpkgs.config.allowUnfree = true;
- hardware.enableRedistributableFirmware = true;
-
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
diff --git a/nix/user.nix b/nix/user.nix
index fbfd354..057f95f 100644
--- a/nix/user.nix
+++ b/nix/user.nix
@@ -1,6 +1,7 @@
-{ config, pkgs, ... }: let
- s = config.local;
- colo = s.scheme;
+{ config, lib, pkgs, ... }: let
+ loc = config.local;
+ colo = loc.scheme;
+ inherit (import ./utils.nix) asNeeded;
in {
users.users.andrew = {
isNormalUser = true;
@@ -42,15 +43,15 @@ in {
lcdfilter = "default";
};
defaultFonts = {
- serif = [ s.ui-font.name ];
- sansSerif = [ s.ui-font.name ];
- monospace = [ s.font.name ];
- emoji = [ s.emoji-font.name ];
+ serif = [ loc.ui-font.name ];
+ sansSerif = [ loc.ui-font.name ];
+ monospace = [ loc.font.name ];
+ emoji = [ loc.emoji-font.name ];
};
};
};
- environment.systemPackages = with pkgs; [
+ environment.systemPackages = with pkgs; lib.lists.flatten [
man-pages
man-pages-posix
home-manager
@@ -61,22 +62,18 @@ in {
sloccount
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science ]))
rsync
- (python3.withPackages (python-pkgs: [
- python-pkgs.requests
- python-pkgs.beautifulsoup4
- ]))
+ (python3.withPackages (python-pkgs: [ python-pkgs.requests python-pkgs.beautifulsoup4 ]))
htop
neofetch
- cmatrix
- #hollywood
+ (asNeeded lib pkgs "cmatrix" ["cmatrix"])
hdparm
usbutils
cryptsetup
- nix-index
+ (asNeeded lib pkgs "nix-index" ["nix-channel-index" "nix-index" "nix-locate"])
imagemagick
- optipng
- dmtx-utils
- zbar
+ (asNeeded lib pkgs "optipng" ["optipng"])
+ (asNeeded lib pkgs "dmtx-utils" ["dmtxquery" "dmtxread" "dmtxwrite"])
+ (asNeeded lib pkgs "zbar" ["zbarcam" "zbarcam-gtk" "zbarcam-qt" "zbarimg"])
perlPackages.ArchiveZip
b3sum
libfaketime
@@ -84,9 +81,7 @@ in {
dos2unix
socat
curl
- httrack
- gdown
- megatools
+ (asNeeded lib pkgs "httrack" ["htsserver" "httrack" "proxytrack" "webhttrack"])
libuchardet
(unzip.override { enableNLS = true; })
rar
@@ -103,10 +98,10 @@ in {
gcr
pass
zenity
- zathura
];
local.scripts.imports = [
+ "install-as-needed"
"cpu-vulns"
"spell"
"ts-date"
diff --git a/nix/utils.nix b/nix/utils.nix
new file mode 100644
index 0000000..9219048
--- /dev/null
+++ b/nix/utils.nix
@@ -0,0 +1,7 @@
+{
+ asNeeded = (lib: pkgs: pkg: commands:
+ (lib.lists.forEach commands (command: pkgs.writeShellScriptBin "${command}" ''
+ install-as-needed "${pkg}" ${command} ''$@
+ ''))
+ );
+}
diff --git a/nix/virtualisation.nix b/nix/virtualisation.nix
index f8be5b6..a73054d 100644
--- a/nix/virtualisation.nix
+++ b/nix/virtualisation.nix
@@ -1,7 +1,4 @@
-{ pkgs, ... }:
-let
- inherit (import ./settings.nix) scripts;
-in {
+{ pkgs, ... }: {
users.users.andrew.extraGroups = [ "libvirtd" "kvm" ];
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;