Squash merge redo into master
This commit is contained in:
parent
d9fa7610df
commit
05fa2b59f2
15 changed files with 268 additions and 114 deletions
24
flake.lock
generated
24
flake.lock
generated
|
|
@ -25,11 +25,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747556831,
|
"lastModified": 1748487945,
|
||||||
"narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=",
|
"narHash": "sha256-e9zc/rHdoH9i+sFFhhQiKoF6IuD+T2rB/nUyPaO7CCg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33",
|
"rev": "0d13ea58d565d3c1c1468ddae1f623316dc395d9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -47,11 +47,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747965612,
|
"lastModified": 1748397391,
|
||||||
"narHash": "sha256-koAXv7H+cZBMOZkOekO7AIan0e75/ptPqkiOkO3x9lM=",
|
"narHash": "sha256-g2quQIkkDOHFMipUOBs7+D3xr490slZp9qiamOkPzO4=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "10e16d55b14d6d2f86d636d546be5130c0827933",
|
"rev": "39bae253dc201cfe03ee53bd90ed813f89afa9cd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -62,11 +62,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747953325,
|
"lastModified": 1748302896,
|
||||||
"narHash": "sha256-y2ZtlIlNTuVJUZCqzZAhIw5rrKP4DOSklev6c8PyCkQ=",
|
"narHash": "sha256-ixMT0a8mM091vSswlTORZj93WQAJsRNmEvqLL+qwTFM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "55d1f923c480dadce40f5231feb472e81b0bab48",
|
"rev": "7848cd8c982f7740edf76ddb3b43d234cb80fc4d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -102,11 +102,11 @@
|
||||||
"rpcs3_latest": {
|
"rpcs3_latest": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748103898,
|
"lastModified": 1748477272,
|
||||||
"narHash": "sha256-HlLFleqkEVs2StNBw1WG9lVuH5kNaZyYFpgMVOvQCMc=",
|
"narHash": "sha256-PTjLS+vIo/K+Eggib4u6LzAidTFiHNh2ALAE3bpylA4=",
|
||||||
"owner": "RPCS3",
|
"owner": "RPCS3",
|
||||||
"repo": "rpcs3",
|
"repo": "rpcs3",
|
||||||
"rev": "3e674a896f9e70ee7112c89c0a2a07f0df4d2326",
|
"rev": "a9df046f21d11b4e7758401bed47d2cad402c294",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -35,5 +35,6 @@
|
||||||
btop
|
btop
|
||||||
nvtopPackages.full
|
nvtopPackages.full
|
||||||
arandr
|
arandr
|
||||||
|
inputs.nix-gaming.packages.${pkgs.system}.wine-discord-ipc-bridge
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,145 @@
|
||||||
{
|
{pkgs, ...}: let
|
||||||
pkgs,
|
urgencyLowBackground = "#1a1b26";
|
||||||
...
|
urgencyLowForeground = "#c0caf5";
|
||||||
}: {
|
urgencyLowFrameColor = "#7aa2f7";
|
||||||
|
urgencyNormalBackground = "#24283b";
|
||||||
|
urgencyNormalForeground = "#c0caf5";
|
||||||
|
urgencyNormalFrameColor = "#7aa2f7";
|
||||||
|
urgencyCriticalBackground = "#f7768e";
|
||||||
|
urgencyCriticalForeground = "#1a1b26";
|
||||||
|
urgencyCriticalFrameColor = "#ff757f";
|
||||||
|
|
||||||
|
volumeHighlight = "#f5c2e7";
|
||||||
|
volumeFrameColor = "#eba0ac";
|
||||||
|
volumeBackground = "#45475a";
|
||||||
|
volumeForeground = "#f5e0dc";
|
||||||
|
|
||||||
|
brightnessHighlight = "#94e2d5";
|
||||||
|
brightnessFrameColor = "#74c7ec";
|
||||||
|
brightnessBackground = "#313244";
|
||||||
|
brightnessForeground = "#a6e3a1";
|
||||||
|
|
||||||
|
networkHighlight = "#f9e2af";
|
||||||
|
networkFrameColor = "#f38ba8";
|
||||||
|
networkBackground = "#1e1e2e";
|
||||||
|
networkForeground = "#fab387";
|
||||||
|
|
||||||
|
globalFrameColor = "#7aa2f7";
|
||||||
|
globalCornerRadius = 10;
|
||||||
|
globalMargin = 8;
|
||||||
|
globalPadding = 12;
|
||||||
|
globalBorderWidth = 2;
|
||||||
|
globalFont = "0xProto Nerd Font Bold 10";
|
||||||
|
globalIconPath = "/usr/share/icons/Candy/16x16/status/:/usr/share/icons/Candy/16x16/devices/:/usr/share/icons/Candy/16x16/apps/";
|
||||||
|
in {
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
monitor = 0;
|
||||||
|
follow = "mouse";
|
||||||
|
width = "(300, 400)";
|
||||||
|
height = 300;
|
||||||
|
origin = "top-right";
|
||||||
|
offset = "15x50";
|
||||||
|
scale = 0;
|
||||||
|
notification_limit = 0;
|
||||||
|
|
||||||
|
progress_bar = true;
|
||||||
|
progress_bar_height = 10;
|
||||||
|
progress_bar_frame_width = 1;
|
||||||
|
progress_bar_min_width = 150;
|
||||||
|
progress_bar_max_width = 300;
|
||||||
|
|
||||||
|
transparency = 5;
|
||||||
|
padding = globalPadding;
|
||||||
|
horizontal_padding = globalPadding;
|
||||||
|
text_icon_padding = 12;
|
||||||
|
frame_width = globalBorderWidth;
|
||||||
|
frame_color = globalFrameColor;
|
||||||
|
separator_color = "frame";
|
||||||
|
separator_height = 2;
|
||||||
|
corner_radius = globalCornerRadius;
|
||||||
|
gap_size = globalMargin;
|
||||||
|
line_height = 0;
|
||||||
|
|
||||||
|
font = globalFont;
|
||||||
|
markup = "full";
|
||||||
|
format = "<b>%s</b>\n%b";
|
||||||
|
alignment = "left";
|
||||||
|
vertical_alignment = "center";
|
||||||
|
show_age_threshold = 60;
|
||||||
|
ellipsize = "middle";
|
||||||
|
ignore_newline = "no";
|
||||||
|
stack_duplicates = true;
|
||||||
|
hide_duplicate_count = false;
|
||||||
|
show_indicators = true;
|
||||||
|
|
||||||
|
enable_recursive_icon_lookup = true;
|
||||||
|
icon_position = "left";
|
||||||
|
min_icon_size = 32;
|
||||||
|
max_icon_size = 128;
|
||||||
|
icon_path = globalIconPath;
|
||||||
|
|
||||||
|
sticky_history = "yes";
|
||||||
|
history_length = 20;
|
||||||
|
|
||||||
|
mouse_left_click = "do_action, close_current";
|
||||||
|
mouse_middle_click = "close_all";
|
||||||
|
mouse_right_click = "close_current";
|
||||||
|
};
|
||||||
|
|
||||||
|
urgency_low = {
|
||||||
|
background = urgencyLowBackground;
|
||||||
|
foreground = urgencyLowForeground;
|
||||||
|
frame_color = urgencyLowFrameColor;
|
||||||
|
timeout = 5;
|
||||||
|
};
|
||||||
|
|
||||||
|
urgency_normal = {
|
||||||
|
background = urgencyNormalBackground;
|
||||||
|
foreground = urgencyNormalForeground;
|
||||||
|
frame_color = urgencyNormalFrameColor;
|
||||||
|
timeout = 5;
|
||||||
|
};
|
||||||
|
|
||||||
|
urgency_critical = {
|
||||||
|
background = urgencyCriticalBackground;
|
||||||
|
foreground = urgencyCriticalForeground;
|
||||||
|
frame_color = urgencyCriticalFrameColor;
|
||||||
|
timeout = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
volume = {
|
||||||
|
appname = "Volume";
|
||||||
|
summary = "*";
|
||||||
|
format = "<b>%s</b>\n%b";
|
||||||
|
highlight = volumeHighlight;
|
||||||
|
frame_color = volumeFrameColor;
|
||||||
|
background = volumeBackground;
|
||||||
|
foreground = volumeForeground;
|
||||||
|
};
|
||||||
|
brightness = {
|
||||||
|
appname = "Brightness";
|
||||||
|
summary = "*";
|
||||||
|
format = "<b>%s</b>\n%b";
|
||||||
|
highlight = brightnessHighlight;
|
||||||
|
frame_color = brightnessFrameColor;
|
||||||
|
background = brightnessBackground;
|
||||||
|
foreground = brightnessForeground;
|
||||||
|
};
|
||||||
|
network = {
|
||||||
|
appname = "Network";
|
||||||
|
summary = "*";
|
||||||
|
format = "<b>%s</b>\n%b";
|
||||||
|
highlight = networkHighlight;
|
||||||
|
frame_color = networkFrameColor;
|
||||||
|
background = networkBackground;
|
||||||
|
foreground = networkForeground;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
dunst
|
dunst
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,25 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: let
|
||||||
home.packages = with pkgs; [
|
x11ffmpeg = pkgs.ffmpeg-full.overrideAttrs (old: {
|
||||||
ffmpeg_7-full
|
buildInputs =
|
||||||
|
(old.buildInputs or [])
|
||||||
|
++ [
|
||||||
|
pkgs.xorg.libxcb
|
||||||
|
pkgs.xorg.libX11
|
||||||
|
pkgs.xorg.xcbutil
|
||||||
|
pkgs.xorg.xcbutilimage
|
||||||
|
pkgs.xorg.xcbutilkeysyms
|
||||||
|
pkgs.xorg.xcbutilwm
|
||||||
|
];
|
||||||
|
configureFlags =
|
||||||
|
(old.configureFlags or [])
|
||||||
|
++ [
|
||||||
|
"--enable-libxcb"
|
||||||
|
"--enable-libxcb-shm"
|
||||||
|
"--enable-libxcb-xfixes"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
home.packages = [
|
||||||
|
x11ffmpeg
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
# TODO: cleanout and repopulate individual packages better
|
# TODO: cleanout and repopulate individual packages better
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
python.enable = true;
|
|
||||||
npm.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
brave # TODO: make a module to save browser stuff
|
brave # TODO: make a module to save browser stuff
|
||||||
vesktop
|
vesktop
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,19 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
# Bootloader
|
boot = {
|
||||||
boot.loader.systemd-boot.enable = true;
|
loader = {
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
systemd-boot = {
|
||||||
boot.loader.systemd-boot.memtest86.enable = true;
|
enable = true;
|
||||||
boot.loader.systemd-boot.configurationLimit = 5;
|
configurationLimit = 5;
|
||||||
boot.loader.timeout = 5;
|
};
|
||||||
# Create the traditional /bin directory with a symlink to bash for scripts
|
efi.canTouchEfiVariables = true;
|
||||||
|
timeout = 5;
|
||||||
|
};
|
||||||
|
tmp = {
|
||||||
|
cleanOnBoot = true;
|
||||||
|
};
|
||||||
|
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||||
|
};
|
||||||
|
|
||||||
system.activationScripts.binbash = {
|
system.activationScripts.binbash = {
|
||||||
deps = [];
|
deps = [];
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
./npm.nix
|
./npm.nix
|
||||||
./tailscale.nix
|
./tailscale.nix
|
||||||
./udiskie.nix
|
./udiskie.nix
|
||||||
|
./ld.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
services.ollama = {
|
services.ollama = {
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
];
|
];
|
||||||
LD_LIBRARY_PATH = lib.makeLibraryPath [
|
LD_LIBRARY_PATH = lib.makeLibraryPath [
|
||||||
pkgs.libglvnd
|
pkgs.libglvnd
|
||||||
pkgs.mesa.drivers
|
pkgs.mesa
|
||||||
pkgs.gcc-unwrapped.lib
|
pkgs.gcc-unwrapped.lib
|
||||||
pkgs.linuxPackages.nvidia_x11
|
pkgs.linuxPackages.nvidia_x11
|
||||||
pkgs.cudatoolkit
|
pkgs.cudatoolkit
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,29 @@
|
||||||
{pkgs, ...}: let
|
{pkgs, ...}: let
|
||||||
wallpapers = [
|
wallpaperDir = "/home/cobray/wallpapers";
|
||||||
"${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png"
|
|
||||||
"${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/backgrounds/gnome/gnome-dark.png"
|
|
||||||
"${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png"
|
|
||||||
];
|
|
||||||
|
|
||||||
randomWallpaper = pkgs.writeShellScript "wallpaper.sh" ''
|
randomWallpaper = pkgs.writeShellScript "wallpaper.sh" ''
|
||||||
#!${pkgs.runtimeShell}
|
#!${pkgs.runtimeShell}
|
||||||
set -e
|
set -e
|
||||||
BG_DIR="/var/lib/lightdm-background"
|
BG_DIR="/var/lib/lightdm-background"
|
||||||
BG_LINK="$BG_DIR/current-wallpaper.png"
|
BG_LINK="$BG_DIR/random-wallpaper.png"
|
||||||
|
LAST_WALLPAPER="$BG_DIR/.last-wallpaper"
|
||||||
|
WALLPAPER_DIR="${wallpaperDir}"
|
||||||
|
|
||||||
mkdir -p "$BG_DIR"
|
mkdir -p "$BG_DIR"
|
||||||
WALLPAPERS=( ${builtins.concatStringsSep " " (map (w: "\"${w}\"") wallpapers)} )
|
rm -f "$BG_LINK"
|
||||||
|
mapfile -t WALLPAPERS < <(${pkgs.findutils}/bin/find "$WALLPAPER_DIR" -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \))
|
||||||
COUNT=''${#WALLPAPERS[@]}
|
COUNT=''${#WALLPAPERS[@]}
|
||||||
if [[ "$COUNT" -eq 0 ]]; then exit 1; fi
|
if [[ "$COUNT" -eq 0 ]]; then
|
||||||
RAND=$(shuf -i 0-$(($COUNT - 1)) -n 1)
|
cp -f "${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png" "$BG_LINK"
|
||||||
|
echo "${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png" > "$LAST_WALLPAPER"
|
||||||
|
chown lightdm:lightdm "$BG_LINK" "$LAST_WALLPAPER"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
RAND=$(${pkgs.coreutils}/bin/shuf -i 0-$(($COUNT - 1)) -n 1)
|
||||||
SELECT=''${WALLPAPERS[$RAND]}
|
SELECT=''${WALLPAPERS[$RAND]}
|
||||||
ln -sf "$SELECT" "$BG_LINK"
|
cp -f "$SELECT" "$BG_LINK"
|
||||||
|
echo "$SELECT" > "$LAST_WALLPAPER"
|
||||||
|
chown lightdm:lightdm "$BG_LINK" "$LAST_WALLPAPER"
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
|
|
@ -31,7 +38,7 @@ in {
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
dmenu
|
dmenu
|
||||||
i3status
|
i3status
|
||||||
i3lock
|
i3lock-color
|
||||||
i3blocks
|
i3blocks
|
||||||
picom
|
picom
|
||||||
feh
|
feh
|
||||||
|
|
@ -42,6 +49,10 @@ in {
|
||||||
xsettingsd
|
xsettingsd
|
||||||
];
|
];
|
||||||
extraSessionCommands = ''
|
extraSessionCommands = ''
|
||||||
|
if [ -f /var/lib/lightdm-background/.last-wallpaper ]; then
|
||||||
|
${pkgs.feh}/bin/feh --bg-fill "$(cat /var/lib/lightdm-background/.last-wallpaper)"
|
||||||
|
fi
|
||||||
|
|
||||||
export GSETTINGS_SCHEMA_DIR="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"
|
export GSETTINGS_SCHEMA_DIR="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"
|
||||||
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface gtk-theme "Tokyonight-Dark"
|
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface gtk-theme "Tokyonight-Dark"
|
||||||
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "candy-icons"
|
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "candy-icons"
|
||||||
|
|
@ -64,7 +75,7 @@ in {
|
||||||
|
|
||||||
services.xserver.displayManager.lightdm = {
|
services.xserver.displayManager.lightdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
background = "/var/lib/lightdm-background/current-wallpaper.png";
|
background = "/var/lib/lightdm-background/random-wallpaper.png";
|
||||||
greeters.gtk = {
|
greeters.gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
|
|
@ -91,17 +102,21 @@ in {
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d /var/lib/lightdm-background 0755 lightdm lightdm - -"
|
"d /var/lib/lightdm-background 0755 lightdm lightdm - -"
|
||||||
"L+ /var/lib/lightdm-background/current-wallpaper.png - - - - ${builtins.elemAt wallpapers 0}"
|
"d ${wallpaperDir} 0755 cobray users - -"
|
||||||
|
"f /var/log/random-wallpaper.log 0644 root root - -"
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services.random-wallpaper = {
|
systemd.services.random-wallpaper = {
|
||||||
description = "Update wallpaper to a random image";
|
description = "Update wallpaper to a random image";
|
||||||
|
before = ["display-manager.service"];
|
||||||
|
wantedBy = ["display-manager.service"];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecStart = "${randomWallpaper}";
|
ExecStart = "${randomWallpaper}";
|
||||||
User = "root";
|
User = "root";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.timers.random-wallpaper = {
|
systemd.timers.random-wallpaper = {
|
||||||
description = "Daily wallpaper refresh for LightDM";
|
description = "Daily wallpaper refresh for LightDM";
|
||||||
wantedBy = ["timers.target"];
|
wantedBy = ["timers.target"];
|
||||||
|
|
@ -134,18 +149,18 @@ in {
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-dark-theme=1
|
||||||
gtk-theme-name=Tokyonight-Dark
|
gtk-theme-name=Tokyonight-Dark
|
||||||
gtk-icon-theme-name="candy-icons"
|
gtk-icon-theme-name=candy-icons
|
||||||
gtk-font-name="Clear Sans 10"
|
gtk-font-name=Clear Sans 10
|
||||||
gtk-cursor-theme-name="capitaine-cursors"
|
gtk-cursor-theme-name=capitaine-cursors
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=24
|
||||||
'';
|
'';
|
||||||
"gtk-4.0/settings.ini".text = ''
|
"gtk-4.0/settings.ini".text = ''
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-dark-theme=1
|
||||||
gtk-theme-name=Tokyonight-Dark
|
gtk-theme-name=Tokyonight-Dark
|
||||||
gtk-icon-theme-name="candy-icons"
|
gtk-icon-theme-name=candy-icons
|
||||||
gtk-font-name="Clear Sans 10"
|
gtk-font-name=Clear Sans 10
|
||||||
gtk-cursor-theme-name="capitaine-cursors"
|
gtk-cursor-theme-name=capitaine-cursors
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=24
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
@ -164,6 +179,9 @@ in {
|
||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
kdePackages.breeze-icons
|
kdePackages.breeze-icons
|
||||||
gnome-themes-extra
|
gnome-themes-extra
|
||||||
|
findutils
|
||||||
|
coreutils
|
||||||
|
feh
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.pathsToLink = [
|
environment.pathsToLink = [
|
||||||
|
|
@ -175,6 +193,9 @@ in {
|
||||||
{
|
{
|
||||||
name = "xfce+i3";
|
name = "xfce+i3";
|
||||||
start = ''
|
start = ''
|
||||||
|
if [ -f /var/lib/lightdm-background/.last-wallpaper ]; then
|
||||||
|
${pkgs.feh}/bin/feh --bg-fill "$(cat /var/lib/lightdm-background/.last-wallpaper)"
|
||||||
|
fi
|
||||||
export XDG_DATA_DIRS="${pkgs.tokyonight-gtk-theme}/share:${pkgs.candy-icons}/share:${pkgs.hicolor-icon-theme}/share:${pkgs.adwaita-icon-theme}/share:$XDG_DATA_DIRS"
|
export XDG_DATA_DIRS="${pkgs.tokyonight-gtk-theme}/share:${pkgs.candy-icons}/share:${pkgs.hicolor-icon-theme}/share:${pkgs.adwaita-icon-theme}/share:$XDG_DATA_DIRS"
|
||||||
${pkgs.xfce.xfce4-session}/bin/xfce4-session --with-ck-launch &
|
${pkgs.xfce.xfce4-session}/bin/xfce4-session --with-ck-launch &
|
||||||
${pkgs.i3-gaps}/bin/i3
|
${pkgs.i3-gaps}/bin/i3
|
||||||
|
|
|
||||||
5
modules/ld.nix
Normal file
5
modules/ld.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
programs.nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
networkmanager_dmenu
|
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,17 @@
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
programs.nix-index.enable = true;
|
programs.nix-index.enable = true;
|
||||||
programs.command-not-found.enable = false;
|
programs.command-not-found.enable = false;
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = ["nix-command" "flakes"];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
|
"https://nix-gaming.cachix.org"
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,7 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
config,
|
environment.systemPackages = with pkgs; [
|
||||||
pkgs,
|
(python311.withPackages (ps:
|
||||||
lib,
|
with ps; [
|
||||||
...
|
|
||||||
}: let
|
|
||||||
py = pkgs.python311Packages;
|
|
||||||
gccLibPath = "${pkgs.gcc-unwrapped.lib}/lib";
|
|
||||||
nvidiaLibPath = "${pkgs.linuxPackages.nvidia_x11}/lib";
|
|
||||||
cudaLibPath = "${pkgs.cudatoolkit}/lib";
|
|
||||||
glvndLibPath = "${pkgs.libglvnd}/lib";
|
|
||||||
ldLibraryPath = "${gccLibPath}:${nvidiaLibPath}:${cudaLibPath}:${glvndLibPath}";
|
|
||||||
pythonEnv = pkgs.python311.buildEnv.override {
|
|
||||||
extraLibs = with py; [
|
|
||||||
numpy
|
|
||||||
i3ipc
|
i3ipc
|
||||||
requests
|
requests
|
||||||
ipython
|
ipython
|
||||||
|
|
@ -27,35 +16,10 @@
|
||||||
libcst
|
libcst
|
||||||
wheel
|
wheel
|
||||||
jupyterlab
|
jupyterlab
|
||||||
];
|
datasets
|
||||||
extraOutputsToInstall = ["out"];
|
]))
|
||||||
postBuild = ''
|
|
||||||
wrapProgram $out/bin/python \
|
|
||||||
--prefix LD_LIBRARY_PATH : "${ldLibraryPath}"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
custom-UV = pkgs.symlinkJoin {
|
|
||||||
name = "uv";
|
|
||||||
paths = [pkgs.uv];
|
|
||||||
buildInputs = [pkgs.makeWrapper];
|
|
||||||
postBuild = ''
|
|
||||||
wrapProgram $out/bin/uv \
|
|
||||||
--prefix LD_LIBRARY_PATH : "${ldLibraryPath}" \
|
|
||||||
--set PYTHONPATH ""
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
options.python = {
|
|
||||||
enable = lib.mkEnableOption "System Python Environment";
|
|
||||||
};
|
|
||||||
config = lib.mkIf config.python.enable {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
pythonEnv
|
|
||||||
isort
|
isort
|
||||||
custom-UV
|
uv
|
||||||
git
|
|
||||||
stdenv.cc.cc.lib
|
|
||||||
python311
|
python311
|
||||||
];
|
];
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
dedicatedServer.openFirewall = true;
|
|
||||||
# apparently enabling this makes big picture boot up, does not work on nvidia however
|
# apparently enabling this makes big picture boot up, does not work on nvidia however
|
||||||
# gamescopeSession.enable = true;
|
# gamescopeSession.enable = true;
|
||||||
extraCompatPackages = [
|
extraCompatPackages = [
|
||||||
|
|
@ -28,7 +26,6 @@
|
||||||
piper
|
piper
|
||||||
portaudio
|
portaudio
|
||||||
alsa-lib
|
alsa-lib
|
||||||
stdenv.cc.cc.lib
|
|
||||||
libglvnd
|
libglvnd
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
src = pkgs.fetchgit {
|
src = pkgs.fetchgit {
|
||||||
url = "https://github.com/RPCS3/rpcs3.git";
|
url = "https://github.com/RPCS3/rpcs3.git";
|
||||||
rev = rpcs3_latest.rev;
|
rev = rpcs3_latest.rev;
|
||||||
sha256 = "sha256-0TDxSNMk9L4+ouxYzWFNi3XxPAyD43Xl32hz1T4lFIc=";
|
sha256 = "sha256-l7ewWWbFWaziBGrWUMdmSn79tq1Sumnqvjcqr1LYfhU=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
patches = [];
|
patches = [];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue