Feat: Add gitea workflow + some hyprland changes
All checks were successful
Simple Mirror to GitHub / mirror (push) Successful in 30s

This commit is contained in:
xbazzi 2025-08-21 23:48:51 -06:00
parent 5197212d09
commit 20e6156509
28 changed files with 329 additions and 538 deletions

View File

@ -0,0 +1,73 @@
name: Simple Mirror to GitHub
on:
push:
branches:
- master
jobs:
mirror:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch full history for complete mirror
# token: ${{ secrets.GITEA_TOKEN }}
- name: Push to GitHub
run: |
# Configure git
git config --global user.name "Gitea Mirror Bot"
git config --global user.email "noreply@gitea.local"
# Create mirror README
cat > README.md << 'EOF'
# 🪞 GitHub Mirror
This is an automated mirror of the repository hosted on [GitGud.foo/xbazzi/fastinahurry](https://gitgud.foo/xbazzi/fastinahurry).
**⚠️ This is a read-only mirror - do not create issues or pull requests here.**
## 🏠 Original Repository
Please visit the [original](https://gitgud.foo/xbazzi/fastinahurry) repository for:
- 📝 Issues and bug reports
- 🔄 Pull requests and contributions
- 📋 Project documentation
- 💬 Discussions
---
*This mirror is automatically updated when changes are pushed to the master branch.*
EOF
# Stage and commit the new README
git add README.md
if git diff --staged --quiet; then
echo "No changes to README, skipping commit"
else
git commit -m "Update README for GitHub mirror"
fi
# Add remote
git remote add github https://${{ secrets.GH_TOKEN }}@github.com/xbazzi/fastinahurry.git
# Check if GitHub repo is empty
if git ls-remote --heads github | grep -q refs/heads/; then
echo "GitHub repo has branches, doing full mirror"
git push github --all --force
git push github --tags --force
else
echo "GitHub repo is empty, pushing master branch first"
git push github master
# After master is established, push other branches and tags
git push github --all --force || echo "No additional branches to push"
git push github --tags --force || echo "No tags to push"
fi
- name: Debug git state
run: |
git log --oneline -5
git branch -a
git remote -v

502
flake.lock generated
View File

@ -1,42 +1,5 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland-plugins",
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland-plugins",
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1751740947,
"narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "dfc1db15a08c4cd234288f66e1199c653495301f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
@ -151,22 +114,6 @@
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -226,29 +173,6 @@
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": {
"nixpkgs": [
"lanzaboote",
@ -307,262 +231,9 @@
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland-plugins",
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1749155331,
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland-plugins",
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1751808145,
"narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-protocols": "hyprland-protocols",
"hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1752149340,
"narHash": "sha256-DJc2ROpttbP6FHcXwWpmK7EB2cpVsP/LmXjEr8RWcO8=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "b5433bb75324a95dd27eb5492141565466c2cdd6",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-plugins": {
"inputs": {
"hyprland": "hyprland",
"nixpkgs": [
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1755183521,
"narHash": "sha256-wrP8TM2lb2x0+PyTc7Uc3yfVBeIlYW7+hFeG14N9Cr8=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "c1ddebb423acc7c88653c04de5ddafee64dac89a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-plugins",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1749046714,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-qt-support": {
"inputs": {
"hyprlang": [
"hyprland-plugins",
"hyprland",
"hyprland-qtutils",
"hyprlang"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"hyprland-qtutils",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"hyprland-qtutils",
"systems"
]
},
"locked": {
"lastModified": 1749154592,
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"type": "github"
}
},
"hyprland-qtutils": {
"inputs": {
"hyprland-qt-support": "hyprland-qt-support",
"hyprlang": [
"hyprland-plugins",
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland-plugins",
"hyprland",
"hyprland-qtutils",
"hyprlang",
"hyprutils"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1750371812,
"narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "b13c7481e37856f322177010bdf75fccacd1adc8",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland-plugins",
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1750371198,
"narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprshell": {
"inputs": {
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1754807024,
@ -578,64 +249,10 @@
"url": "https://gitgud.foo/thegrind/hypr-shell.git"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1751888065,
"narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "a8229739cf36d159001cfc203871917b83fdf917",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1751881472,
"narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"lanzaboote": {
"inputs": {
"crane": "crane",
"flake-compat": "flake-compat_2",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
@ -660,11 +277,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1751792365,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
"lastModified": 1755186698,
"narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
"rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
"type": "github"
},
"original": {
@ -691,22 +308,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1755186698,
"narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1755186698,
"narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
@ -747,37 +348,13 @@
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1750779888,
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks-nix": {
"inputs": {
"flake-compat": [
"lanzaboote",
"flake-compat"
],
"gitignore": "gitignore_2",
"gitignore": "gitignore",
"nixpkgs": [
"lanzaboote",
"nixpkgs"
@ -801,10 +378,9 @@
"root": {
"inputs": {
"home-manager": "home-manager",
"hyprland-plugins": "hyprland-plugins",
"hyprshell": "hyprshell",
"lanzaboote": "lanzaboote",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"stylix": "stylix"
}
},
@ -842,7 +418,7 @@
"nixpkgs"
],
"nur": "nur",
"systems": "systems_2",
"systems": "systems",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
@ -864,21 +440,6 @@
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -973,53 +534,6 @@
"repo": "base16-zed",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland-plugins",
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland-plugins",
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland-plugins",
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland-plugins",
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1751300244,
"narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
}
},
"root": "root",

View File

@ -23,10 +23,11 @@
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.nixpkgs.follows = "nixpkgs";
};
# hyprland-plugins = {
# url = "github:hyprwm/hyprland-plugins";
# inputs.nixpkgs.follows = "hyprland";
# };
# walker = {
# url = "github:abenz1267/walker";
@ -79,6 +80,7 @@
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
pkgs.neovim
# pkgs.legacyPackages.x86_64-linux.claude-code
pkgs.vim
];
shellHook = ''
@ -101,6 +103,8 @@
environment.systemPackages = [
# For debugging and troubleshooting Secure Boot.
pkgs.sbctl
# (inputs.nixpkgs.legacyPackages.${pkgs.system}.claude-code)
];
# Lanzaboote currently replaces the systemd-boot module.

View File

@ -3,7 +3,8 @@
{
programs.btop = {
enable = true;
# color_theme = "tokyo-night";
# theme_background = false;
# color_theme = "phoenix-night";
color_theme = "HotPurpleTrafficLight";
theme_background = false;
};
}

View File

@ -28,7 +28,7 @@
# ./hyprpanel.nix
./hyprpanel2.nix
./wofi.nix
./hyprpaper.nix
./hyprpaper2.nix
./git.nix
./hyprland.nix
./zsh.nix

View File

@ -14,6 +14,7 @@
stylix = {
enable = true;
polarity = "dark";
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-storm.yaml";
targets = {
btop.enable = true;
@ -30,7 +31,23 @@
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
#".p10k.zsh".text = builtins.readFile ./.p10k.zsh;
# ".claude/settings.json".text = ''
# {
# "permissions": {
# "allow": [
# "Bash(npm run lint)",
# "Bash(npm run test:*)",
# "Read(~/.zshrc)"
# ],
# "deny": [
# "Bash(curl:*)",
# "Read(./.env*)",
# "Read(./.env.*)",
# "Read(./secrets/**)"
# ]
# },
# }
# '';
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a

View File

@ -22,7 +22,7 @@
listener = [
{
timeout = 270; # 4.5 min — warn before lock
timeout = 10; # 4.5 min — warn before lock
on-timeout = "notify-send '🔒 Locking in 30s...'";
# on-timeout = "notify-send 'hiii'";
}

View File

@ -158,6 +158,8 @@
};
windowrulev2 = [
# "size 1920 1440, class:^(cs2)$"
"opacity 0.85, class:^(Code)$"
"opacity 0.75, class:^(kitty)$"
];
@ -227,9 +229,11 @@
};
exec-once = [
"noisetorch"
"hyprpaper"
# "sleep 2 && waybar &"
# "hypridle &"
"hyprpanel &"
# "hyprpanel &"
"eval $(gnome-keyring-daemon --start --components=secrets,ssh,gpg)"
# "hash dbus-update-activation-environment 2>/dev/null"
# "dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
@ -248,7 +252,9 @@
];
plugins = [
# legacyPackages.x86_64-linux.hyprlandPlugins.csgo-vulkan-fix
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
# inputs.hyprland-plugins.packages.${pkgs.system}.csgo-vulkan-fix
];
};
};

View File

@ -1,24 +1,32 @@
{
pkgs,
# inputs,
config,
...
}:
{
home.packages = [
pkgs.hyprpaper
];
];
# xdg.configFile."/hypr/hyprpaper/matsumoto.jpg".source = "${config.home.homeDirectory}/nixos-config/home/wallpapers";
home.file."wallpapers" = {
source = ./wallpapers;
recursive = true;
};
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = true;
preload = [
"/home/xbazzi/Pictures/wallpapers/cities/sanfran.jpg" "/home/xbazzi/Pictures/wallpapers/cities/dubai.jpg"
"${config.home.homeDirectory}/wallpapers/dubai.jpg"
"${config.home.homeDirectory}/wallpapers/newyork.jpg"
];
wallpaper = [
",/home/xbazzi/Pictures/wallpapers/cities/dubai.jpg"
",${config.home.homeDirectory}/wallpapers/newyork.jpg"
",${config.home.homeDirectory}/wallpapers/dubai.jpg"
];
};
};

98
home/hyprpaper2.nix Normal file
View File

@ -0,0 +1,98 @@
{
pkgs,
config,
...
}:
let
wallpaperDir = "${config.home.homeDirectory}/wallpapers";
# wallpaperScript = pkgs.writeShellScript "wallpaper-cycler" ''
# #!/bin/bash
# # Array of wallpapers
# wallpapers=(
# "${wallpaperDir}/dubai.jpg"
# "${wallpaperDir}/amsterdam.jpg"
# "${wallpaperDir}/matsumoto.jpg"
# # Add more wallpapers here
# )
# # Get current wallpaper index from file (or default to 0)
# index_file="$HOME/.cache/wallpaper_index"
# if [ -f "$index_file" ]; then
# current_index=$(cat "$index_file")
# notify-send "uncle philly"
# else
# notify-send "mafangu"
# current_index=0
# fi
# # Get next wallpaper
# next_index=$(( (current_index + 1) % ''${#wallpapers[@]} ))
# next_wallpaper="''${wallpapers[$next_index]}"
# # Set wallpaper using hyprctl
# ${pkgs.hyprland}/bin/hyprctl hyprpaper wallpaper ",$next_wallpaper"
# # Save current index
# echo "$next_index" > "$index_file"
# '';
in
{
home.packages = [
pkgs.hyprpaper
];
home.file."wallpapers" = {
source = ./wallpapers;
recursive = true;
};
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = true;
preload = [
"${wallpaperDir}/dubai.jpg"
"${wallpaperDir}/amsterdam.jpg"
"${wallpaperDir}/matsumoto.jpg"
# Add all your wallpapers here
];
wallpaper = [
",${wallpaperDir}/dubai.jpg"
",${wallpaperDir}/amsterdam.jpg"
",${wallpaperDir}/matsumoto.jpg"
];
};
};
# Create systemd user service for wallpaper cycling
# systemd.user.services.wallpaper-cycler = {
# Unit = {
# Description = "Wallpaper cycler for hyprpaper";
# After = [ "hyprpaper.service" ];
# Wants = [ "hyprpaper.service" ];
# };
# Service = {
# Type = "oneshot";
# ExecStart = "${wallpaperScript}";
# Environment = [ "PATH=${pkgs.hyprland}/bin:$PATH" ];
# };
# };
# # Create systemd timer to run every 10 minutes
# systemd.user.timers.wallpaper-cycler = {
# Unit = {
# Description = "Timer for wallpaper cycling";
# Requires = [ "wallpaper-cycler.service" ];
# };
# Timer = {
# OnBootSec = "1min";
# OnUnitActiveSec = "1min";
# Unit = "wallpaper-cycler.service";
# };
# Install = {
# WantedBy = [ "timers.target" ];
# };
# };
}

View File

@ -2,6 +2,7 @@
{
home.packages = with pkgs; [
# legacyPackages.${pkgs.system}.claude-code
kitty
btop
hello
@ -20,6 +21,7 @@
hyprlock
hyprpanel
wofi
hyprlandPlugins.csgo-vulkan-fix
# Python
python3Packages.gpustat

View File

@ -24,9 +24,53 @@
# /etc/profiles/per-user/nixxer/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
XDG_CACHE_HOME = "${config.home.homeDirectory}/.cache";
XDG_CONFIG_HOME = "${config.home.homeDirectory}/.config";
XDG_DATA_HOME = "${config.home.homeDirectory}/.local/share";
XDG_STATE_HOME = "${config.home.homeDirectory}/.local/state";
EDITOR = "nvim";
# TERM = "xterm-kitty";
};
xdg = {
enable = true;
configFile."user-dirs.conf" = {
text = ''
enabled=True
filename_encoding=UTF-8
'';
force = true; # This forces overwrite of existing content
};
userDirs = {
enable = true;
createDirectories = true;
desktop = "${config.home.homeDirectory}/Desktop";
documents = "${config.home.homeDirectory}/Documents";
download = "${config.home.homeDirectory}/Downloads";
music = "${config.home.homeDirectory}/Music";
pictures = "${config.home.homeDirectory}/Pictures";
publicShare = "${config.home.homeDirectory}/Public";
templates = "${config.home.homeDirectory}/Templates";
videos = "${config.home.homeDirectory}/Videos";
};
# TODO: Move the http handler to a browser.nix
# # File/app associations
# mimeApps = {
# enable = true;
# defaultApplications = {
# "text/html" = "brave.desktop";
# "x-scheme-handler/http" = "brave.desktop";
# "x-scheme-handler/https" = "brave.desktop";
# "x-scheme-handler/about" = "brave.desktop";
# "x-scheme-handler/unknown" = "brave.desktop";
# "application/pdf" = "org.gnome.Evince.desktop";
# "text/plain" = "code.desktop";
# "application/json" = "code.desktop";
# "application/javascript" = "code.desktop";
# "text/x-php" = "code.desktop";
# };
# };
};
home.sessionPath = [
"$HOME/.local/bin"

BIN
home/wallpapers/Lake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

BIN
home/wallpapers/dubai.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

BIN
home/wallpapers/newyork.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

BIN
home/wallpapers/sanfran.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

View File

@ -12,11 +12,18 @@
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initExtra = ''
initContent = ''
source ${pkgs.nix-index}/etc/profile.d/command-not-found.sh
export TERM=xterm-kitty
bindkey -e
function nvibrant() {
cd ~/repos/nVibrant
. .venv/bin/activate
command nvibrant $(printf "+%s " $(repeat 9 echo "$1"))
}
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
@ -39,7 +46,7 @@
}
function reboot() {
echo "Nice try. Use `sudo /run/current-system/sw/bin/reboot` instead."
echo "Nice try. Use `reboot-foreal` instead."
}
function makerole() {

View File

@ -143,6 +143,7 @@
isNormalUser = true;
description = "Xander Bazzi";
extraGroups = [
"xbazzi"
"video"
"render"
"docker"

View File

@ -31,18 +31,8 @@
"_netdev"
"rw"
"vers=4"
# On-demand mount (recommended): mounts when first accessed
"x-systemd.automount"
# "noauto" # optional but fine with automount
# Make sure network is really up before trying
# "x-systemd.after=network-online.target"
# "x-systemd.requires=network-online.target"
# Quality-of-life
# "x-systemd.mount-timeout=30s"
# "x-systemd.idle-timeout=600" # unmount after 10min idle (automount only)
];
};
@ -51,8 +41,11 @@
fsType = "nfs";
options = [
"noauto"
"_netdev"
"rw"
"vers=4"
# On-demand mount (recommended): mounts when first accessed
"x-systemd.automount"
];
};
}

View File

@ -29,7 +29,7 @@
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
open = true;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
@ -38,7 +38,7 @@
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
boot.kernelParams = [ "nvidia_drm.modeset=1" ];
# Nvidia driver for X
services.xserver.videoDrivers = [ "nvidia" ];
}

View File

@ -1,7 +1,11 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, system, inputs, ... }:
{
environment.systemPackages = with pkgs; [
# (inputs.nixpkgs.legacyPackages.${pkgs.system}.claude-code)
# modrinth-app
claude-code
gnumake
ansible
niv
@ -22,6 +26,7 @@
discord
cudaPackages_12.cudatoolkit
python3
python313Packages.pip
gimp
vlc
xclip
@ -54,6 +59,7 @@
nixfmt
unzip
nettools
vibrantlinux
# Hyprland Ecosystem
hyprpaper
@ -64,6 +70,8 @@
enableXWayland = true;
withSystemd = true;
})
gamescope
google-chrome
# Qt
# kdePackages.qt5compat
@ -71,6 +79,10 @@
# libsForQt5.qt5.qtdeclarative
];
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"claude-code"
];
programs.nix-ld.enable = true;
programs.thunderbird.enable = true;
# Install noisetorch.
@ -86,6 +98,8 @@
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
programs.gamemode.enable = true;
hardware.opengl.enable = true;
# nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
# "steam"

View File

@ -21,19 +21,19 @@ in
'';
};
systemPackages = with pkgs; [
papirus-icon-theme
(sddm-chili-theme.override {
themeConfig = {
background = "/etc/sddm-wallpaper.png";
ScreenWidth = "3440";
ScreenHeight = "1440";
recursiveBlurLoops = 1;
recursiveBlurRadius = 10;
};
})
libsForQt5.qt5.qtgraphicaleffects
];
# systemPackages = with pkgs; [
# papirus-icon-theme
# (sddm-chili-theme.override {
# themeConfig = {
# background = "/etc/sddm-wallpaper.png";
# ScreenWidth = "3440";
# ScreenHeight = "1440";
# recursiveBlurLoops = 1;
# recursiveBlurRadius = 10;
# };
# })
# libsForQt5.qt5.qtgraphicaleffects
# ];
pathsToLink = [
"/share/icons"

View File

@ -7,6 +7,9 @@
}:
{
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"claude-code"
];
environment.systemPackages = with pkgs; [
(vscode-with-extensions.override {
vscodeExtensions =
@ -30,19 +33,25 @@
zxh404.vscode-proto3
twxs.cmake
tamasfe.even-better-toml
# anthropic.claude-code
# Use the nix-ide instead
# arrterian.nix-env-selector
# bbenoist.nix
jnoortheen.nix-ide
# Doesn't work lmao. Use bbnoist's
# Neither works
# TheQtCompany.qt-qml
# bbenoist.qml
mkhl.direnv
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "claude-code";
publisher = "anthropic";
version = "1.0.80";
sha256 = "WNm29AUas6ZmMC2odIs1wBNknG3DL1T2jXQChpvqTLA=";
}
# {
# name = "QML"; # keep exact Marketplace name
# publisher = "bbenoist";