This commit is contained in:
alsaiduq-lab 2025-07-01 22:07:45 -06:00
parent b0767196f7
commit 70cb8731b6
5 changed files with 60 additions and 38 deletions

View file

@ -59,7 +59,10 @@
in { in {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
inherit system; inherit system;
specialArgs = {inherit inputs;}; specialArgs = {
inherit inputs;
i3dotfiles = inputs.i3-dotfiles;
};
modules = [ modules = [
{ {

View file

@ -21,6 +21,7 @@
./modules/spotify.nix ./modules/spotify.nix
./modules/obs.nix ./modules/obs.nix
./modules/udiskie.nix ./modules/udiskie.nix
./modules/bambustudio.nix
]; ];
home.username = "cobray"; home.username = "cobray";

View file

@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = [pkgs.bambu-studio];
}

View file

@ -1,3 +1,13 @@
{pkgs, ...}: { {
i3dotfiles,
pkgs,
...
}: {
home.packages = pkgs.polybar.all; home.packages = pkgs.polybar.all;
xdg.configFile."polybar" = {
source = "${i3dotfiles}/polybar";
recursive = true;
force = true;
};
} }

View file

@ -1,29 +1,33 @@
{pkgs, ...}: let {
pkgs,
i3dotfiles,
...
}: let
wallpaperDir = "/home/cobray/wallpapers"; wallpaperDir = "/home/cobray/wallpapers";
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/random-wallpaper.png" BG_LINK="''$BG_DIR/random-wallpaper.png"
LAST_WALLPAPER="$BG_DIR/.last-wallpaper" LAST_WALLPAPER="''$BG_DIR/.last-wallpaper"
WALLPAPER_DIR="${wallpaperDir}" WALLPAPER_DIR="${wallpaperDir}"
mkdir -p "$BG_DIR" mkdir -p "''$BG_DIR"
rm -f "$BG_LINK" rm -f "''$BG_LINK"
mapfile -t WALLPAPERS < <(${pkgs.findutils}/bin/find "$WALLPAPER_DIR" -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \)) 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 if [[ "''$COUNT" -eq 0 ]]; then
cp -f "${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png" "$BG_LINK" 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" echo "${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png" > "''$LAST_WALLPAPER"
chown lightdm:lightdm "$BG_LINK" "$LAST_WALLPAPER" chown lightdm:lightdm "''$BG_LINK" "''$LAST_WALLPAPER"
exit 0 exit 0
fi fi
RAND=$(${pkgs.coreutils}/bin/shuf -i 0-$(($COUNT - 1)) -n 1) RAND=$(${pkgs.coreutils}/bin/shuf -i 0-''$((COUNT - 1)) -n 1)
SELECT=''${WALLPAPERS[$RAND]} SELECT=''${WALLPAPERS[''$RAND]}
cp -f "$SELECT" "$BG_LINK" cp -f "''$SELECT" "''$BG_LINK"
echo "$SELECT" > "$LAST_WALLPAPER" echo "''$SELECT" > "''$LAST_WALLPAPER"
chown lightdm:lightdm "$BG_LINK" "$LAST_WALLPAPER" chown lightdm:lightdm "''$BG_LINK" "''$LAST_WALLPAPER"
''; '';
in { in {
services.xserver.enable = true; services.xserver.enable = true;
@ -35,25 +39,6 @@ in {
services.xserver.windowManager.i3 = { services.xserver.windowManager.i3 = {
enable = true; enable = true;
package = pkgs.i3-gaps; package = pkgs.i3-gaps;
extraPackages = with pkgs; [
dmenu
i3status
i3lock-color
i3blocks
picom
feh
rofi
dunst
polybar
i3-auto-layout
xsettingsd
mpv
yt-dlp
flameshot
imagemagick
slop
ghostscript
];
extraSessionCommands = '' extraSessionCommands = ''
if [ -f /var/lib/lightdm-background/.last-wallpaper ]; then if [ -f /var/lib/lightdm-background/.last-wallpaper ]; then
${pkgs.feh}/bin/feh --bg-fill "$(cat /var/lib/lightdm-background/.last-wallpaper)" ${pkgs.feh}/bin/feh --bg-fill "$(cat /var/lib/lightdm-background/.last-wallpaper)"
@ -144,6 +129,10 @@ in {
}; };
environment.etc = { environment.etc = {
"xdg/i3/config" = {
source = "${i3dotfiles}/i3/config";
mode = "0644";
};
"gtk-2.0/gtkrc".text = '' "gtk-2.0/gtkrc".text = ''
gtk-theme-name="Tokyonight-Dark" gtk-theme-name="Tokyonight-Dark"
gtk-icon-theme-name="candy-icons" gtk-icon-theme-name="candy-icons"
@ -172,22 +161,38 @@ in {
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
dmenu
i3status
i3lock-color
i3blocks
picom
feh
rofi
dunst
polybar
i3-auto-layout
mpv
yt-dlp
flameshot
imagemagick
slop
ghostscript
via
arandr arandr
xclip xclip
xsettingsd
lxappearance lxappearance
gsettings-desktop-schemas gsettings-desktop-schemas
adwaita-qt adwaita-qt
candy-icons candy-icons
capitaine-cursors capitaine-cursors
tokyonight-gtk-theme tokyonight-gtk-theme
xsettingsd
hicolor-icon-theme hicolor-icon-theme
adwaita-icon-theme adwaita-icon-theme
kdePackages.breeze-icons kdePackages.breeze-icons
gnome-themes-extra gnome-themes-extra
findutils findutils
coreutils coreutils
feh
]; ];
environment.pathsToLink = [ environment.pathsToLink = [