1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/.dotfiles synced 2025-06-08 04:59:29 +00:00
This commit is contained in:
Rae 5e 2025-06-05 22:29:06 -04:00
parent ba9f49ea9a
commit 58e551abb2
Signed by: rae
GPG key ID: 5B1A0FAB9BAB81EE
14 changed files with 686 additions and 740 deletions

View file

@ -8,4 +8,7 @@ indent_style = tab
indent_size = 4 indent_size = 4
[*.{yml, yaml}] [*.{yml, yaml}]
indent_style = space # stupid cocksucking motherfucking piece of shit # stupid cocksucking motherfucking piece of shit
indent_style = space
indent_size = 1

View file

@ -1,28 +1,29 @@
{ {
"backup_device_uuid" : "fbbcc72f-34af-425c-9151-ef8919a6ae07", "backup_device_uuid" : "fbbcc72f-34af-425c-9151-ef8919a6ae07",
"parent_device_uuid" : "", "parent_device_uuid" : "",
"do_first_run" : "false", "do_first_run" : "false",
"btrfs_mode" : "false", "btrfs_mode" : "false",
"include_btrfs_home_for_backup" : "false", "include_btrfs_home_for_backup" : "false",
"include_btrfs_home_for_restore" : "false", "include_btrfs_home_for_restore" : "false",
"stop_cron_emails" : "true", "stop_cron_emails" : "true",
"schedule_monthly" : "false", "schedule_monthly" : "false",
"schedule_weekly" : "false", "schedule_weekly" : "false",
"schedule_daily" : "false", "schedule_daily" : "false",
"schedule_hourly" : "false", "schedule_hourly" : "false",
"schedule_boot" : "false", "schedule_boot" : "false",
"count_monthly" : "2", "count_monthly" : "2",
"count_weekly" : "3", "count_weekly" : "3",
"count_daily" : "5", "count_daily" : "5",
"count_hourly" : "6", "count_hourly" : "6",
"count_boot" : "5", "count_boot" : "5",
"date_format" : "%Y-%m-%d %H:%M:%S", "date_format" : "%Y-%m-%d %H:%M:%S",
"exclude" : [ "exclude" : [
"/var/empty/**", "/var/empty/**",
"/**", "/**",
"+ /home/rae/**", "+ /home/rae/**",
"+ /opt/apps/**", "+ /opt/apps/**",
"/root/**" "/root/**"
], ],
"exclude-apps" : [] "exclude-apps" : []
} }

View file

@ -19,18 +19,18 @@ LeftTitleButton "wmenu.xbm" = f.nop
RightTitleButton "minimize.xbm" = f.iconify RightTitleButton "minimize.xbm" = f.iconify
RightTitleButton "close.xbm" = f.delete RightTitleButton "close.xbm" = f.delete
Color { Color {
BorderColor "#0d8778" BorderColor "#0d8778"
DefaultBackground "#0d8778" DefaultBackground "#0d8778"
DefaultForeground "#ffffff" DefaultForeground "#ffffff"
TitleBackground "#0d8778" TitleBackground "#0d8778"
TitleForeground "#ffffff" TitleForeground "#ffffff"
MenuTitleBackground "#b52f62" MenuTitleBackground "#b52f62"
MenuTitleForeground "#ffffff" MenuTitleForeground "#ffffff"
MenuBackground "#b52f62" MenuBackground "#b52f62"
MenuForeground "#ffffff" MenuForeground "#ffffff"
MenuBorderColor "#b52f62" MenuBorderColor "#b52f62"
IconManagerBackground "#b52f62" IconManagerBackground "#b52f62"
IconManagerForeground "#ffffff" IconManagerForeground "#ffffff"
} }
# window actions # window actions
Button1 = : root : f.menu "TwmWindows" Button1 = : root : f.menu "TwmWindows"
@ -41,23 +41,24 @@ Function "raise-lower-move" { f.move f.raiselower }
# menus # menus
menu "System" menu "System"
{ {
"System" f.title "System" f.title
"Icon manager" f.showiconmgr "Icon manager" f.showiconmgr
"Restart twm" f.restart "Restart twm" f.restart
"Take screenshot" !"flameshot gui&" "Take screenshot" !"flameshot gui&"
"" f.nop "" f.nop
"Applications" f.menu "Applications" "Applications" f.menu "Applications"
"Processes" !"kitty btop&" "Processes" !"kitty btop&"
"" f.nop "" f.nop
"Shutdown" !"shutdown now&" "Shutdown" !"shutdown now&"
"Restart" !"reboot&" "Restart" !"reboot&"
} }
menu "Applications" menu "Applications"
{ {
"Applications" f.title "Applications" f.title
"Dolphin" !"dolphin&" "Dolphin" !"dolphin&"
"Konsole" !"konsole&" "Konsole" !"konsole&"
"Firefox" !"firefox&" "Firefox" !"firefox&"
"Kate" !"kate&" "Kate" !"kate&"
"VSCodium" !"codium&" "VSCodium" !"codium&"
} }

765
nixos/flake.lock generated
View file

@ -1,384 +1,385 @@
{ {
"nodes": { "nodes": {
"fenix": { "fenix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1734590149, "lastModified": 1734590149,
"narHash": "sha256-NcfLaETnNMPHTlu7/oTrihCjTL6G2DIe6lHZ68o2n8w=", "narHash": "sha256-NcfLaETnNMPHTlu7/oTrihCjTL6G2DIe6lHZ68o2n8w=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "81afc33397436c678482a1560bbc810cc3504dbc", "rev": "81afc33397436c678482a1560bbc810cc3504dbc",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"type": "github" "type": "github"
} }
}, },
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nur", "nur",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1733312601, "lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"type": "github" "type": "github"
} }
}, },
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1734366194, "lastModified": 1734366194,
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.11", "ref": "release-24.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"libcamera-src": { "libcamera-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725630279, "lastModified": 1725630279,
"narHash": "sha256-KH30jmHfxXq4j2CL7kv18DYECJRp9ECuWNPnqPZajPA=", "narHash": "sha256-KH30jmHfxXq4j2CL7kv18DYECJRp9ECuWNPnqPZajPA=",
"owner": "raspberrypi", "owner": "raspberrypi",
"repo": "libcamera", "repo": "libcamera",
"rev": "69a894c4adad524d3063dd027f5c4774485cf9db", "rev": "69a894c4adad524d3063dd027f5c4774485cf9db",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "raspberrypi", "owner": "raspberrypi",
"repo": "libcamera", "repo": "libcamera",
"rev": "69a894c4adad524d3063dd027f5c4774485cf9db", "rev": "69a894c4adad524d3063dd027f5c4774485cf9db",
"type": "github" "type": "github"
} }
}, },
"libpisp-src": { "libpisp-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1724944683, "lastModified": 1724944683,
"narHash": "sha256-Fo2UJmQHS855YSSKKmGrsQnJzXog1cdpkIOO72yYAM4=", "narHash": "sha256-Fo2UJmQHS855YSSKKmGrsQnJzXog1cdpkIOO72yYAM4=",
"owner": "raspberrypi", "owner": "raspberrypi",
"repo": "libpisp", "repo": "libpisp",
"rev": "28196ed6edcfeda88d23cc5f213d51aa6fa17bb3", "rev": "28196ed6edcfeda88d23cc5f213d51aa6fa17bb3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "raspberrypi", "owner": "raspberrypi",
"ref": "v1.0.7", "ref": "v1.0.7",
"repo": "libpisp", "repo": "libpisp",
"type": "github" "type": "github"
} }
}, },
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1734128415, "lastModified": 1734128415,
"narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=", "narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=",
"owner": "gmodena", "owner": "gmodena",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"rev": "8bdc2540da516006d07b04019eb57ae0781a04b3", "rev": "8bdc2540da516006d07b04019eb57ae0781a04b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "gmodena", "owner": "gmodena",
"ref": "latest", "ref": "latest",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1734323986, "lastModified": 1734323986,
"narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=", "narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "394571358ce82dff7411395829aa6a3aad45b907", "rev": "394571358ce82dff7411395829aa6a3aad45b907",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-24.11", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1735471104, "lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1736061677, "lastModified": 1736061677,
"narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.11", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1734554871, "lastModified": 1734554871,
"narHash": "sha256-adKmMR20KSMrSQLAq3HbI1Y8DpgB2Fs4Nyiq9OpI/E4=", "narHash": "sha256-adKmMR20KSMrSQLAq3HbI1Y8DpgB2Fs4Nyiq9OpI/E4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "52adbe40112836626fb9ed51e14d217e8b2f81c1", "rev": "52adbe40112836626fb9ed51e14d217e8b2f81c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"type": "github" "type": "github"
} }
}, },
"raspberry-pi-nix": { "raspberry-pi-nix": {
"inputs": { "inputs": {
"libcamera-src": "libcamera-src", "libcamera-src": "libcamera-src",
"libpisp-src": "libpisp-src", "libpisp-src": "libpisp-src",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"rpi-bluez-firmware-src": "rpi-bluez-firmware-src", "rpi-bluez-firmware-src": "rpi-bluez-firmware-src",
"rpi-firmware-nonfree-src": "rpi-firmware-nonfree-src", "rpi-firmware-nonfree-src": "rpi-firmware-nonfree-src",
"rpi-firmware-src": "rpi-firmware-src", "rpi-firmware-src": "rpi-firmware-src",
"rpi-linux-6_12_17-src": "rpi-linux-6_12_17-src", "rpi-linux-6_12_17-src": "rpi-linux-6_12_17-src",
"rpi-linux-6_6_78-src": "rpi-linux-6_6_78-src", "rpi-linux-6_6_78-src": "rpi-linux-6_6_78-src",
"rpi-linux-stable-src": "rpi-linux-stable-src", "rpi-linux-stable-src": "rpi-linux-stable-src",
"rpicam-apps-src": "rpicam-apps-src" "rpicam-apps-src": "rpicam-apps-src"
}, },
"locked": { "locked": {
"lastModified": 1740928520, "lastModified": 1740928520,
"narHash": "sha256-NL5qZi0iEEvQK9kMF6r48FOk5WMdQExCqodRH3kEr0g=", "narHash": "sha256-NL5qZi0iEEvQK9kMF6r48FOk5WMdQExCqodRH3kEr0g=",
"owner": "nix-community", "owner": "nix-community",
"repo": "raspberry-pi-nix", "repo": "raspberry-pi-nix",
"rev": "3bfda6add79c55f9bf143fac928f54484d450e87", "rev": "3bfda6add79c55f9bf143fac928f54484d450e87",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"repo": "raspberry-pi-nix", "repo": "raspberry-pi-nix",
"type": "github" "type": "github"
} }
}, },
"root": { "root": {
"inputs": { "inputs": {
"fenix": "fenix", "fenix": "fenix",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur", "nur": "nur",
"raspberry-pi-nix": "raspberry-pi-nix" "raspberry-pi-nix": "raspberry-pi-nix"
} }
}, },
"rpi-bluez-firmware-src": { "rpi-bluez-firmware-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1708969706, "lastModified": 1708969706,
"narHash": "sha256-KakKnOBeWxh0exu44beZ7cbr5ni4RA9vkWYb9sGMb8Q=", "narHash": "sha256-KakKnOBeWxh0exu44beZ7cbr5ni4RA9vkWYb9sGMb8Q=",
"owner": "RPi-Distro", "owner": "RPi-Distro",
"repo": "bluez-firmware", "repo": "bluez-firmware",
"rev": "78d6a07730e2d20c035899521ab67726dc028e1c", "rev": "78d6a07730e2d20c035899521ab67726dc028e1c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "RPi-Distro", "owner": "RPi-Distro",
"ref": "bookworm", "ref": "bookworm",
"repo": "bluez-firmware", "repo": "bluez-firmware",
"type": "github" "type": "github"
} }
}, },
"rpi-firmware-nonfree-src": { "rpi-firmware-nonfree-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723266537, "lastModified": 1723266537,
"narHash": "sha256-T7eTKXqY9cxEMdab8Snda4CEOrEihy5uOhA6Fy+Mhnw=", "narHash": "sha256-T7eTKXqY9cxEMdab8Snda4CEOrEihy5uOhA6Fy+Mhnw=",
"owner": "RPi-Distro", "owner": "RPi-Distro",
"repo": "firmware-nonfree", "repo": "firmware-nonfree",
"rev": "4b356e134e8333d073bd3802d767a825adec3807", "rev": "4b356e134e8333d073bd3802d767a825adec3807",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "RPi-Distro", "owner": "RPi-Distro",
"ref": "bookworm", "ref": "bookworm",
"repo": "firmware-nonfree", "repo": "firmware-nonfree",
"type": "github" "type": "github"
} }
}, },
"rpi-firmware-src": { "rpi-firmware-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1728405098, "lastModified": 1728405098,
"narHash": "sha256-4gnK0KbqFnjBmWia9Jt2gveVWftmHrprpwBqYVqE/k0=", "narHash": "sha256-4gnK0KbqFnjBmWia9Jt2gveVWftmHrprpwBqYVqE/k0=",
"owner": "raspberrypi", "owner": "raspberrypi",
"repo": "firmware", "repo": "firmware",
"rev": "7bbb5f80d20a2335066a8781459c9f33e5eebc64", "rev": "7bbb5f80d20a2335066a8781459c9f33e5eebc64",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "raspberrypi", "owner": "raspberrypi",
"ref": "1.20241008", "ref": "1.20241008",
"repo": "firmware", "repo": "firmware",
"type": "github" "type": "github"
} }
}, },
"rpi-linux-6_12_17-src": { "rpi-linux-6_12_17-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1740765145, "lastModified": 1740765145,
"narHash": "sha256-hoCsGc4+RC/2LmxDtswLBL5ZhWlw4vSiL4Vkl39r2MU=", "narHash": "sha256-hoCsGc4+RC/2LmxDtswLBL5ZhWlw4vSiL4Vkl39r2MU=",
"owner": "raspberrypi", "owner": "raspberrypi",
"repo": "linux", "repo": "linux",
"rev": "5985ce32e511f4e8279a841a1b06a8c7d972b386", "rev": "5985ce32e511f4e8279a841a1b06a8c7d972b386",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "raspberrypi", "owner": "raspberrypi",
"ref": "rpi-6.12.y", "ref": "rpi-6.12.y",
"repo": "linux", "repo": "linux",
"type": "github" "type": "github"
} }
}, },
"rpi-linux-6_6_78-src": { "rpi-linux-6_6_78-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1740503700, "lastModified": 1740503700,
"narHash": "sha256-Y8+ot4Yi3UKwlZK3ap15rZZ16VZDvmeFkD46+6Ku7bE=", "narHash": "sha256-Y8+ot4Yi3UKwlZK3ap15rZZ16VZDvmeFkD46+6Ku7bE=",
"owner": "raspberrypi", "owner": "raspberrypi",
"repo": "linux", "repo": "linux",
"rev": "2e071057fded90e789c0101498e45a1778be93fe", "rev": "2e071057fded90e789c0101498e45a1778be93fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "raspberrypi", "owner": "raspberrypi",
"ref": "rpi-6.6.y", "ref": "rpi-6.6.y",
"repo": "linux", "repo": "linux",
"type": "github" "type": "github"
} }
}, },
"rpi-linux-stable-src": { "rpi-linux-stable-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1728403745, "lastModified": 1728403745,
"narHash": "sha256-phCxkuO+jUGZkfzSrBq6yErQeO2Td+inIGHxctXbD5U=", "narHash": "sha256-phCxkuO+jUGZkfzSrBq6yErQeO2Td+inIGHxctXbD5U=",
"owner": "raspberrypi", "owner": "raspberrypi",
"repo": "linux", "repo": "linux",
"rev": "5aeecea9f4a45248bcf564dec924965e066a7bfd", "rev": "5aeecea9f4a45248bcf564dec924965e066a7bfd",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "raspberrypi", "owner": "raspberrypi",
"ref": "stable_20241008", "ref": "stable_20241008",
"repo": "linux", "repo": "linux",
"type": "github" "type": "github"
} }
}, },
"rpicam-apps-src": { "rpicam-apps-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1727515047, "lastModified": 1727515047,
"narHash": "sha256-qCYGrcibOeGztxf+sd44lD6VAOGoUNwRqZDdAmcTa/U=", "narHash": "sha256-qCYGrcibOeGztxf+sd44lD6VAOGoUNwRqZDdAmcTa/U=",
"owner": "raspberrypi", "owner": "raspberrypi",
"repo": "rpicam-apps", "repo": "rpicam-apps",
"rev": "a8ccf9f3cd9df49875dfb834a2b490d41d226031", "rev": "a8ccf9f3cd9df49875dfb834a2b490d41d226031",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "raspberrypi", "owner": "raspberrypi",
"ref": "v1.5.2", "ref": "v1.5.2",
"repo": "rpicam-apps", "repo": "rpicam-apps",
"type": "github" "type": "github"
} }
}, },
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1734531725, "lastModified": 1734531725,
"narHash": "sha256-IGe/elaXn5XXA62RIL9OuLMq1vgrUCm+bYPqYCZJ7Ug=", "narHash": "sha256-IGe/elaXn5XXA62RIL9OuLMq1vgrUCm+bYPqYCZJ7Ug=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "27fac08c82210837a2ac84fa5e39eee6993f1605", "rev": "27fac08c82210837a2ac84fa5e39eee6993f1605",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "rust-lang", "owner": "rust-lang",
"ref": "nightly", "ref": "nightly",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"type": "github" "type": "github"
} }
}, },
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nur", "nur",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1733222881, "lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53", "rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"type": "github" "type": "github"
} }
} }
}, },
"root": "root", "root": "root",
"version": 7 "version": 7
} }

View file

@ -1,50 +1,50 @@
{ {
description = "rae's nixOS config flake"; description = "rae's nixOS config flake";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-24.11"; url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Nix User Repository # Nix User Repository
nur = { nur = {
url = "github:nix-community/NUR"; url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Rust toolchains # Rust toolchains
fenix = { fenix = {
url = "github:nix-community/fenix"; url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Raspberry Pi support # Raspberry Pi support
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix"; raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
}; };
outputs = { self, nixpkgs, home-manager, nix-flatpak, ... }@inputs: { outputs = { self, nixpkgs, home-manager, nix-flatpak, ... }@inputs: {
nixosConfigurations = nixosConfigurations = let
let mkSystem = hostname: arch: with nixpkgs; {
mkSystem = hostname: arch: with nixpkgs; { name = hostname;
name = hostname; value = lib.nixosSystem {
value = lib.nixosSystem { system = "${arch}-linux";
system = "${arch}-linux"; specialArgs = { inherit inputs; hostname = hostname; };
specialArgs = { inherit inputs; hostname = hostname; }; modules = [ ./hosts/${hostname}/configuration.nix ];
modules = [ ./hosts/${hostname}/configuration.nix ]; };
}; };
}; in builtins.listToAttrs [
in builtins.listToAttrs [ (mkSystem "ioides" "x86_64") # main pc
(mkSystem "ioides" "x86_64") # main pc (mkSystem "near" "aarch64") # raspberry pi 5 home server
(mkSystem "near" "aarch64") # raspberry pi 5 home server ];
];
homeConfigurations.rae = home-manager.lib.homeManagerConfiguration { homeConfigurations.rae = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = { inherit inputs; };
modules = [ modules = [
./home ./home
]; ];
}; };
}; };
} }

View file

@ -38,32 +38,6 @@
}; };
}; };
}; };
# TODO: when you get home
# + try to make a configuration for your desktop host specifically maybe
# r5e.system = {
# graphics = {
# display.x11 = {
# enable = true;
# windowManagers = {
# twm.enable = true;
# openbox.enable = true;
# };
# displayManager.autologin = {
# enable = true;
# session = "none+openbox";
# };
# };
# };
#
# hardwareAcceleration = {
# enable = true;
# intel = {
# videoPlayback.enable = true;
# qsv.enable = true;
# };
# nvidia.enable = true;
# };
# };
boot = { boot = {
binfmt.emulatedSystems = [ "aarch64-linux" ]; binfmt.emulatedSystems = [ "aarch64-linux" ];
@ -112,24 +86,6 @@
enable = true; enable = true;
powerOnBoot = true; powerOnBoot = true;
}; };
# graphics = {
# enable = true;
# extraPackages = with pkgs; [
# intel-media-sdk
# ];
# };
# nvidia = {
# modesetting.enable = true;
# powerManagement = {
# enable = false;
# finegrained = false;
# };
# open = false;
# nvidiaSettings = true;
# package = config.boot.kernelPackages.nvidiaPackages.stable;
# # temp
# package = config.boot.kernelPackages.nvidiaPackages.legacy_390;
# };
opentabletdriver.enable = true; opentabletdriver.enable = true;
}; };
@ -175,31 +131,6 @@
}; };
services = { services = {
# Xorg
# xserver = {
# enable = true;
# xkb.layout = "us";
#?TODO maybe put all nvidia settings into its own module (i.e. r5e.hardware.nvidia.enable) + x11 with xdg config
# videoDrivers = [ "nvidia" ];
# windowManager = {
# cwm.enable = true;
# openbox.enable = true;
# twm.enable = true;
# };
# };
# displayManager = {
# sddm = {
# enable = true;
# settings = {
# Autologin = {
# User = "rae";
# Session = "none+openbox";
# };
# };
# theme = "catppuccin-mocha";
# };
# };
# Touchpad support # Touchpad support
libinput.enable = true; libinput.enable = true;
# Sound # Sound
@ -287,3 +218,4 @@
system.stateVersion = "24.11"; system.stateVersion = "24.11";
} }

View file

@ -2,79 +2,80 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }:
{ {
# Runtime # Runtime
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
autoPrune.enable = true; autoPrune.enable = true;
}; };
virtualisation.oci-containers.backend = "docker"; virtualisation.oci-containers.backend = "docker";
# Containers # Containers
virtualisation.oci-containers.containers."pihole" = { virtualisation.oci-containers.containers."pihole" = {
image = "pihole/pihole:latest"; image = "pihole/pihole:latest";
environment = { environment = {
"FTLCONF_dns_listeningMode" = "all"; "FTLCONF_dns_listeningMode" = "all";
}; };
volumes = [ volumes = [
"/etc/pihole:/etc/pihole:rw" "/etc/pihole:/etc/pihole:rw"
]; ];
ports = [ ports = [
"53:53/tcp" "53:53/tcp"
"53:53/udp" "53:53/udp"
"80:80/tcp" "80:80/tcp"
"443:443/tcp" "443:443/tcp"
]; ];
log-driver = "journald"; log-driver = "journald";
extraOptions = [ extraOptions = [
"--cap-add=NET_ADMIN" "--cap-add=NET_ADMIN"
"--cap-add=SYS_NICE" "--cap-add=SYS_NICE"
"--network-alias=pihole" "--network-alias=pihole"
"--network=pihole_default" "--network=pihole_default"
]; ];
}; };
systemd.services."docker-pihole" = { systemd.services."docker-pihole" = {
serviceConfig = { serviceConfig = {
Restart = lib.mkOverride 90 "always"; Restart = lib.mkOverride 90 "always";
RestartMaxDelaySec = lib.mkOverride 90 "1m"; RestartMaxDelaySec = lib.mkOverride 90 "1m";
RestartSec = lib.mkOverride 90 "100ms"; RestartSec = lib.mkOverride 90 "100ms";
RestartSteps = lib.mkOverride 90 9; RestartSteps = lib.mkOverride 90 9;
}; };
after = [ after = [
"docker-network-pihole_default.service" "docker-network-pihole_default.service"
]; ];
requires = [ requires = [
"docker-network-pihole_default.service" "docker-network-pihole_default.service"
]; ];
partOf = [ partOf = [
"docker-compose-pihole-root.target" "docker-compose-pihole-root.target"
]; ];
wantedBy = [ wantedBy = [
"docker-compose-pihole-root.target" "docker-compose-pihole-root.target"
]; ];
}; };
# Networks # Networks
systemd.services."docker-network-pihole_default" = { systemd.services."docker-network-pihole_default" = {
path = [ pkgs.docker ]; path = [ pkgs.docker ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
ExecStop = "docker network rm -f pihole_default"; ExecStop = "docker network rm -f pihole_default";
}; };
script = '' script = ''
docker network inspect pihole_default || docker network create pihole_default docker network inspect pihole_default || docker network create pihole_default
''; '';
partOf = [ "docker-compose-pihole-root.target" ]; partOf = [ "docker-compose-pihole-root.target" ];
wantedBy = [ "docker-compose-pihole-root.target" ]; wantedBy = [ "docker-compose-pihole-root.target" ];
}; };
# Root service # Root service
# When started, this will automatically create all resources and start # When started, this will automatically create all resources and start
# the containers. When stopped, this will teardown all resources. # the containers. When stopped, this will teardown all resources.
systemd.targets."docker-compose-pihole-root" = { systemd.targets."docker-compose-pihole-root" = {
unitConfig = { unitConfig = {
Description = "Root target generated by compose2nix."; Description = "Root target generated by compose2nix.";
}; };
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
}; };
} }

View file

@ -1,10 +1,11 @@
{ nur, fenix, nixpkgs-unstable, ... }: [ { nur, fenix, nixpkgs-unstable, ... }: [
nur.overlays.default nur.overlays.default
fenix.overlays.default fenix.overlays.default
(import ./pkgs/overlay.nix {}) (import ./pkgs/overlay.nix {})
(final: prev: { (final: prev: {
unstable = import nixpkgs-unstable { unstable = import nixpkgs-unstable {
system = prev.system; system = prev.system;
}; };
}) })
] ]

View file

@ -1,23 +1,24 @@
{ lib, stdenv, fetchFromGitHub }: stdenv.mkDerivation { { lib, stdenv, fetchFromGitHub }: stdenv.mkDerivation {
pname = "chibicc-uxn"; pname = "chibicc-uxn";
version = "1.0.0"; version = "1.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lynn"; owner = "lynn";
repo = "chibicc"; repo = "chibicc";
rev = "0a590db363fb8d69b80fc70d9dfb7e655aafe656"; rev = "0a590db363fb8d69b80fc70d9dfb7e655aafe656";
sha256 = "1jf18dh9ns0q79q8ql5yiw7l3zswyy0qjlz089xr3kw4zpqaqfmn"; sha256 = "1jf18dh9ns0q79q8ql5yiw7l3zswyy0qjlz089xr3kw4zpqaqfmn";
}; };
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp chibicc $out/bin cp chibicc $out/bin
''; '';
meta = with lib; { meta = with lib; {
description = "A small C compiler... for uxn"; description = "A small C compiler... for uxn";
homepage = "https://github.com/lynn/chibicc"; homepage = "https://github.com/lynn/chibicc";
license = licenses.mit; license = licenses.mit;
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View file

@ -1,6 +1,7 @@
{ ... }: final: prev: with final; { { ... }: final: prev: with final; {
chibicc-uxn = callPackage ./chibicc-uxn {}; chibicc-uxn = callPackage ./chibicc-uxn {};
playit-agent = callPackage ./playit-agent {}; playit-agent = callPackage ./playit-agent {};
wxwabbitemu = callPackage ./wxwabbitemu {}; wxwabbitemu = callPackage ./wxwabbitemu {};
ynodesktop = callPackage ./ynodesktop {}; ynodesktop = callPackage ./ynodesktop {};
} }

View file

@ -1,20 +1,21 @@
{ rustPlatform, fetchFromGitHub, lib }: rustPlatform.buildRustPackage rec { { rustPlatform, fetchFromGitHub, lib }: rustPlatform.buildRustPackage rec {
pname = "playit-agent"; pname = "playit-agent";
version = "0.15.26"; version = "0.15.26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "playit-cloud"; owner = "playit-cloud";
repo = "playit-agent"; repo = "playit-agent";
rev = "v" + version; rev = "v" + version;
sha256 = "12wc8am3zamjlkn61ajjw8kdvdrn9plvjnhskx56yspz9v9sys6f"; sha256 = "12wc8am3zamjlkn61ajjw8kdvdrn9plvjnhskx56yspz9v9sys6f";
}; };
cargoHash = "sha256-JRsmZ5D/awsIjExGTDkzYkun6oeIpL1FkZJKzZf/XF0="; cargoHash = "sha256-JRsmZ5D/awsIjExGTDkzYkun6oeIpL1FkZJKzZf/XF0=";
doCheck = false; # uses network tests and it also takes SO FUCKING LONG oh my god doCheck = false; # uses network tests and it also takes SO FUCKING LONG oh my god
meta = with lib; { meta = with lib; {
description = "The playit program"; description = "The playit program";
homepage = "https://playit.gg/"; homepage = "https://playit.gg/";
license = licenses.bsd2; license = licenses.bsd2;
}; };
} }

View file

@ -23,3 +23,4 @@ stdenv.mkDerivation rec {
license = licenses.free; license = licenses.free;
}; };
} }

View file

@ -8,3 +8,4 @@ stdenv.mkDerivation {
description = "A portable linker for multiple file formats"; description = "A portable linker for multiple file formats";
}; };
} }

View file

@ -1,86 +1,87 @@
{ {
lib, lib,
stdenv, stdenv,
fetchFromGitHub, fetchFromGitHub,
fetchYarnDeps, fetchYarnDeps,
yarnConfigHook, yarnConfigHook,
yarnBuildHook, yarnBuildHook,
yarnInstallHook, yarnInstallHook,
imagemagick, imagemagick,
makeWrapper, makeWrapper,
nodejs, nodejs,
copyDesktopItems, copyDesktopItems,
electron, electron,
makeDesktopItem makeDesktopItem
}: stdenv.mkDerivation rec { }: stdenv.mkDerivation rec {
pname = "ynodesktop"; pname = "ynodesktop";
version = "1.2.3"; version = "1.2.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "affectioned"; owner = "affectioned";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1zr84mbc5p27f6ks4z2rkgg9cifzimf478f42bmz4yp44vrhaj1a"; sha256 = "1zr84mbc5p27f6ks4z2rkgg9cifzimf478f42bmz4yp44vrhaj1a";
}; };
yarnOfflineCache = fetchYarnDeps { yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock"; yarnLock = "${src}/yarn.lock";
hash = "sha256-EHoSypJWFC2k0ES6ZQxxrumBLx9H3E9YTniWf0V5nWc="; hash = "sha256-EHoSypJWFC2k0ES6ZQxxrumBLx9H3E9YTniWf0V5nWc=";
}; };
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1; env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
nativeBuildInputs = [ nativeBuildInputs = [
yarnConfigHook yarnConfigHook
yarnBuildHook yarnBuildHook
yarnInstallHook yarnInstallHook
imagemagick imagemagick
makeWrapper makeWrapper
nodejs nodejs
copyDesktopItems copyDesktopItems
]; ];
yarnBuildScript = "electron-builder"; yarnBuildScript = "electron-builder";
yarnBuildFlags = [ yarnBuildFlags = [
"--dir" "--dir"
"-c.electronDist=${electron.dist}" "-c.electronDist=${electron.dist}"
"-c.electronVersion=${electron.version}" "-c.electronVersion=${electron.version}"
]; ];
# TODO: also export the other icons from the .ico (i dont think theyre scaled properly though) # TODO: also export the other icons from the .ico (i dont think theyre scaled properly though)
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/share/icons/hicolor/256x256/apps mkdir -p $out/share/icons/hicolor/256x256/apps
magick "assets/logo.ico[5]" "$out/share/icons/hicolor/256x256/apps/ynodesktop.png" magick "assets/logo.ico[5]" "$out/share/icons/hicolor/256x256/apps/ynodesktop.png"
mkdir -p $out/share/ynodesktop mkdir -p $out/share/ynodesktop
cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/ynodesktop cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/ynodesktop
makeWrapper "${electron}/bin/electron" $out/bin/ynodesktop \ makeWrapper "${electron}/bin/electron" $out/bin/ynodesktop \
--add-flags $out/share/ynodesktop/resources/app.asar \ --add-flags $out/share/ynodesktop/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
--inherit-argv0 --inherit-argv0
runHook postInstall runHook postInstall
''; '';
desktopItems = [ desktopItems = [
(makeDesktopItem { (makeDesktopItem {
name = pname; name = pname;
desktopName = "YNOdesktop"; desktopName = "YNOdesktop";
genericName = "Desktop client for Yume Nikki Online"; genericName = "Desktop client for Yume Nikki Online";
comment = "Play Yume Nikki Online"; comment = "Play Yume Nikki Online";
exec = "ynodesktop"; exec = "ynodesktop";
icon = "ynodesktop"; icon = "ynodesktop";
categories = [ "Game" ]; categories = [ "Game" ];
}) })
]; ];
meta = with lib; { meta = with lib; {
description = "A desktop client for Yume Nikki Online with Discord Rich Presence"; description = "A desktop client for Yume Nikki Online with Discord Rich Presence";
homepage = "https://github.com/affectioned/ynodesktop"; homepage = "https://github.com/affectioned/ynodesktop";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }