Compare commits

..

68 Commits

Author SHA1 Message Date
58d6fba6cb added cyberdream theme 2026-10-07 20:17:17 +01:00
450f48bc0a adding vim or something 2026-09-29 13:57:38 +01:00
b708a82046 updated quickshell 2026-09-26 17:37:44 +01:00
a3b6475c0c updated gotify desktop 2026-09-26 17:25:40 +01:00
35fbb13b3d permit root login for ssh 2026-09-26 17:25:23 +01:00
5e9fb94bcb removed useless school module 2026-09-25 21:13:30 +01:00
ff34c0d3c1 removed deprecated waybar to stop eval warning 2026-09-25 21:01:06 +01:00
38ffd22819 fixed gotify desktop finally 2026-09-25 21:00:34 +01:00
8b33848660 adding sops to fix gotify-desktop after long last 2026-09-25 20:48:13 +01:00
e3fc39cf43 fixed davinci for hopefully the last time 2026-09-25 20:06:36 +01:00
9a2161d8e2 added some missing groups and fixed davinci (i can edit the damn video) 2026-09-25 15:45:13 +01:00
75de4af64b some bullshit to make hyprland work that didnt work, rolling back for now 2026-09-24 22:00:49 +01:00
7208f789e9 fixed new mouse behavior 2026-09-19 14:18:17 +01:00
c77103a09a updated hyprland 2026-09-19 13:38:09 +01:00
ddc2abab52 updated hyprland for wshowkeys 2026-09-18 16:55:06 +01:00
8e8061a311 updated hyprland 2026-09-17 17:26:24 +01:00
d5f3518ef6 deprecated and removed i3 2026-09-17 17:14:10 +01:00
01456a3d4d deprecated waybar 2026-09-17 17:14:04 +01:00
3f606df726 updated flake 2026-09-17 17:13:59 +01:00
2f125855f4 changed to alt in i3 for a xephyr experiment 2026-09-17 17:07:39 +01:00
a9cd267bb9 added g++ to distcc to inhibit warnings 2026-09-17 17:07:28 +01:00
c16c8e4726 added teams for school 2026-09-07 13:51:55 +01:00
a7b6f63509 distcc feature added to hackstation 2026-09-05 19:18:47 +01:00
a2959bda31 added unstablePkgs module option 2026-09-05 19:18:29 +01:00
406cfcdcca enabled networkManager applet when on tablet to log into school wifi 2026-09-04 08:13:22 +01:00
daf346127a changed enablePlugins option to universal tabletSupport option because it makes more sense 2026-09-04 08:13:05 +01:00
4caac02796 updated hyprland and quickshell for new touchscreen features 2026-09-02 19:24:52 +01:00
83b3cee120 added wvkbd according to tablet mode toggle 2026-08-31 19:55:28 +01:00
c98e633178 re-added the repo-checker thingy 2026-08-27 14:23:02 +01:00
8dc79f60ee formatted zsh and replaced manual flakeLocation with universal 2026-08-27 14:21:49 +01:00
03f1d74812 cleaned up core modules and added universal flakeLocation argument 2026-08-27 14:21:11 +01:00
06f2e248a8 updated hyprland and quickshell for tablet mode 2026-08-26 19:36:50 +01:00
b5c4879bb4 updated quickshell for tablet mode 2026-08-26 19:05:58 +01:00
4ba613b95f added a thinkpad fan controller module (because that isnt inbuilt???) 2026-08-26 18:43:18 +01:00
ba688432e6 moved the ssh indicator to the leftmost spot 2026-08-26 17:54:49 +01:00
676fdbea0e made all ssh shells show hostname instead 2026-08-26 14:24:30 +01:00
85d4610988 plugins loading in hyprland according to toggle 2026-08-25 20:19:18 +01:00
1d28a7b7ef fixed my awful nix syntax errors 2026-08-25 19:24:16 +01:00
036d16cf05 removed non-functional hyprland module in favour of a symlinked file 2026-08-25 19:16:24 +01:00
ac7a0adbf2 updated hyprland for hyprgrass null safety and installed prismlauncher 2026-08-24 21:12:54 +01:00
65dcf59eeb fixed hyprgrass install and removed hyprspace (incompatible with hyprland 0.56) 2026-08-24 21:12:12 +01:00
9c28a8b6db replaced any-nix-shell with newer nix-your-shell 2026-08-24 14:19:06 +01:00
6a3839a38e altered woomer to remove xorg, waiting for pull upstream 2026-08-24 13:53:28 +01:00
54ee803c9c removed weylus feature, moved back to main for wshowkeys, and updated flake 2026-08-24 13:41:39 +01:00
38bc8a1c20 updated hyprland and quickshell 2026-08-24 13:33:42 +01:00
9748ccaa0c made togglable plugins option for mobile03 2026-08-24 13:21:22 +01:00
4476a7f809 added networkmanager group to user01 2026-08-23 10:16:30 +01:00
7be136dfe8 updated hyprland for hopefully the last time 2026-08-23 10:13:39 +01:00
eeb251585d updated hyprland again because I forgot something 2026-08-23 09:57:27 +01:00
f6321ffd93 updated hyprland to add support for mobile03 2026-08-23 09:55:24 +01:00
48606f4977 added mobile03 (just a copy of mobile02) 2026-08-22 20:10:56 +01:00
88c38b76b8 added user to plugdev so they can use networkmanager 2026-08-22 20:10:40 +01:00
6519bb657a made the readme better 2026-08-20 14:39:31 +01:00
6b396d8bb9 added more wallpapers and re-enabled wide-lines for mobile02 2026-08-20 14:31:49 +01:00
f111183f73 renamed the images so that the cache invalidates and the images are correct 2026-08-20 14:31:02 +01:00
6a43247c72 added newline between images for formatting 2026-08-20 14:24:42 +01:00
42ffb053b3 fixed readme links and added images 2026-08-20 14:23:18 +01:00
67c6eeb44a updated flake again lol 2026-08-19 16:27:06 +01:00
e808447b4f updated hyprland and quickshell, removed wlogout from hyprland tree 2026-08-19 10:51:12 +01:00
0c414948a5 updated flake 2026-08-19 10:48:47 +01:00
1e2888851e fixed hyprlock import stuff 2026-08-18 11:43:34 +01:00
a67a00725c hyprlock feature 2026-08-18 11:38:13 +01:00
15967f2fa1 fixed intel drivers according to wiki 2026-08-17 21:06:49 +01:00
fe71483c3d fixed weird jack incompatibility and added some more synths 2026-08-16 16:59:13 +01:00
def20c0070 removed weird merge artefact 2026-08-16 16:01:20 +01:00
b39108df2c wanted to make some music idk bro 2026-08-16 15:54:41 +01:00
e4fe282ffd added a tldr to the CONTRIBUTING.md guidelines 2026-08-16 12:13:55 +01:00
f76234271a updated hyprland because of keybind issues 2026-08-16 12:01:00 +01:00
44 changed files with 1086 additions and 760 deletions

View File

@@ -1,5 +1,33 @@
# CONTRIBUTING # CONTRIBUTING
## Tldr
**Do's**
- Be concise
- Follow the [Formatting Rules](#formatting-rules) to the best of your ability
- Segment larger changes into managable, reviewable commits
- Leave a trail of your development so I can tell you put some effort in (doesnt really
apply to smaller commits)
- Write your own code
- Leave some way of crediting your work
- Disclose the capacity in which you used AI. Most of the time, anything more than making
examples or helping you understand the codebase will be disallowed. As little AI code
should make it to production as possible
**Dont's**
- Report upstream issues to me (ie an issue with the app itself, not my config)
- Make major structural changes
- Submit chore commits such as updating the flake, I can do that myself
- Add new hosts for no reason, make your own flake and import the modules you want for
your host
- Majorly change existing hosts for your own preference
- Ask AI to fix your issues and expect me to merge changes
- Delete existing modules. Executive decisions like that will be made at my disgression,
and will be done as non-destructively as possible, such as moving those modules to a
"deprecated" branch in the future.
## General format ## General format
All emails regarding this repo (or another) should have a subject prepended with the All emails regarding this repo (or another) should have a subject prepended with the

View File

@@ -2,6 +2,28 @@
_An opinionated dendritic nix configuration_ _An opinionated dendritic nix configuration_
## Screenshots
![Picture of desktop with fastfetch, nemo, and otter-launcher](assets/desktop-1-v2.png)
![Picture of Neovim open, editing the hyprland repo](assets/desktop-2-v2.png)
## Get Started
No cloning required
```bash
# Run any app (replace appname with the one you want)
nix run "git+https://git.voidarc.co.uk/voidarc/nixos.git#appname"
# Build configuration (HACKSTATION or mobile02)
sudo nixos-rebuild switch --impure --flake "git+https://git.voidarc.co.uk/voidarc/nixos.git#mobile02"
```
[More Information on Configs](#nixos-configurations)
[More Information on Binaries](#binaries)
## The Concept ## The Concept
I have been trying to get consistent, across device experiences from the second that I I have been trying to get consistent, across device experiences from the second that I
@@ -96,11 +118,14 @@ environment variable is not available, the zsh module will throw and evaluation
but the build will not be hindered. but the build will not be hindered.
```bash ```bash
# The following commands will only work if your hostname is already
# HACKSTATION or mobile02, if it is not, see next code block
# Local Clone, . is the directory containing flake.nix # Local Clone, . is the directory containing flake.nix
sudo nixos-rebuild switch --impure --flake . sudo nixos-rebuild switch --impure --flake .
# Build from remote # Build from remote
sudo nixos-rebuild switch --impure --flake "git+https://git.voidarc.co.uk/voidarc/nixos.git?ref=dendritic" sudo nixos-rebuild switch --impure --flake "git+https://git.voidarc.co.uk/voidarc/nixos.git"
``` ```
Both of these commands can be appended with a desired hostname in order to build that Both of these commands can be appended with a desired hostname in order to build that
@@ -118,21 +143,21 @@ default password is `qwer`. No, that isn't my usual password.
### Binaries ### Binaries
Any binary can be run with the same base command (will change when merged to main) Any binary can be run with the same base command:
```bash ```bash
nix run "git+https://git.voidarc.co.uk/voidarc/nixos.git?ref=dendritic#appname" nix run "git+https://git.voidarc.co.uk/voidarc/nixos.git#appname"
``` ```
`appname` can be substituted for the name of any folder in the `modules/features` dir, ie `appname` can be substituted for the name of any folder in the `modules/features` dir, ie
`kitty` or `otter-launcher`. Most if not all modules in a subdirectory will have a module `kitty` or `otter-launcher`. Most if not all modules in a subdirectory will have a module
name corresponding to that directory. This only applies for `default.nix` files, so files name corresponding to that directory. This only applies for `default.nix` files, so files
that have different names are not expected to follow this convention, even if there is not that have different names are not expected to follow this convention, even if there is not
ea `default.nix` in that directory. a `default.nix` in that directory.
## Issues and contributing ## Issues and contributing
Because this is a private git server, there is no inline way to submit issues, Because this is a private git server, there is no inline way to submit issues,
contributions, or feature ideas. If you should wish, you may send such requests to contributions, or feature ideas. If you should wish, you may send such requests to
<admin@voidarc.co.uk>, with the format found in CONTRIBUTING.md. Failure to follow the <admin@voidarc.co.uk>, with the format found in [CONTRIBUTING.md]( CONTRIBUTING.md ). Failure to follow the
format found there will most likely result in your email being ignored. format found there will most likely result in your email being ignored.

BIN
assets/desktop-1-v2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
assets/desktop-2-v2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -1,337 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
imports = [
/etc/nixos/hardware-configuration.nix
];
# Nix settings
## Limit Cores on rebuild and enable Flakes
nix = {
registry = {
voidarc = {
from = {
id = "voidarc";
type = "indirect";
};
to = {
type = "git";
url = "https://git.voidarc.co.uk/voidarc/flakes.git";
};
};
};
settings = {
cores = 6;
download-buffer-size = 524288000;
experimental-features = [
"nix-command"
"flakes"
];
};
};
## Allow unfree packages and add pkgs.unstable
nixpkgs = {
config = {
allowUnfree = true;
packageOverrides = pkgs: {
unstable = import inputs.nixpkgs-unstable {
config = {
allowUnfree = true;
};
};
};
};
};
# Set <nixpkgs> correctly
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
## Optimise Nix store on rebuild and collect garbage as a service
nix.optimise.automatic = true;
nix.gc = {
automatic = true;
dates = "daily";
options = "--delete-older-than 5d";
};
# Bootloader theming and plymouth
boot = {
loader = {
timeout = 2;
efi = {
canTouchEfiVariables = true;
};
grub = {
efiSupport = true;
device = "nodev";
theme = pkgs.catppuccin-grub;
};
};
plymouth = {
enable = true;
theme = "catppuccin-mocha";
themePackages = with pkgs; [
# By default we would install all themes
(catppuccin-plymouth.override {
variant = "mocha";
})
];
};
};
## Use latest kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# Bluetooth and Networking
hardware.bluetooth.enable = true;
hardware.xpadneo.enable = true;
networking.networkmanager.enable = true;
networking.networkmanager.dns = "none";
networking.nameservers = [
"1.1.1.1"
"8.8.8.8"
];
# Locale
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
# Userspace Stuff
## Keymap
services.xserver.xkb = {
layout = "gb";
variant = "";
};
console.keyMap = "uk";
## Desktop
services.xserver.enable = true;
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.default;
};
security.polkit.enable = true;
## Audio Server
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
# Local User
## User config
users.users.user01 = {
isNormalUser = true;
shell = pkgs.zsh;
description = "user01";
extraGroups = [
"input"
"root"
"plugdev"
"bluetooth"
"networkmanager"
"docker"
"wheel"
];
packages = with pkgs; let
input = {
package,
output ? "default",
}:
inputs.${package}.packages.${pkgs.stdenv.hostPlatform.system}.${output};
wrap = {
name,
pkg,
modules,
}:
pkgs.symlinkJoin {
inherit name;
paths = [pkg];
nativeBuildInputs = [pkgs.makeWrapper];
postBuild = ''
wrapProgram $out/bin/${name} \
--prefix PATH : ${pkgs.lib.makeBinPath modules}
'';
};
in [
# Ricing
## Desktop
bibata-cursors
catppuccin-gtk
unstable.waybar
hyprlock
dunst
wlogout
wpaperd
quickshell
## Desktop Utilities
grimblast
gsettings-desktop-schemas
wl-clipboard
(wrap {
name = "otter-launcher";
pkg = (
input {
package = "otter-launcher";
}
);
modules = [
chafa
jq
];
})
(input {package = "fsel";})
# Terminal
## Styling / Functionality
oh-my-posh
carapace
zsh-autocomplete
bat
## Tools
lazygit
git-secret
p7zip-rar
any-nix-shell
bluetui
fzf
ripgrep
wget
htop
playerctl
git
lsd
(input {
package = "doot";
})
## Other CLI Apps
nodejs
fastfetch
opencode
tailscale
syncthing
jellyfin-tui
devenv
nix-output-monitor
# Apps
## Actual Useful Stuff
nemo
kitty
firefox
gotify-desktop
pavucontrol
mpv
input-remapper
## Other Nonsense
tor-browser
techmino
prismlauncher
delfin
];
};
## Zsh
programs.zsh = {
enable = true;
enableCompletion = true;
enableBashCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
histSize = 10000;
ohMyZsh = {
enable = true;
plugins = [
"git"
"dirhistory"
"history"
];
};
};
users.defaultUserShell = pkgs.zsh;
## User programs
programs = {
dconf.enable = true;
xfconf.enable = true;
gdk-pixbuf.modulePackages = [pkgs.librsvg]; # For wlogout svgs
};
## User Services
services = {
gvfs.enable = true;
input-remapper.enable = true;
tailscale.enable = true;
printing.enable = true;
upower.enable = true;
openssh.enable = true;
avahi.enable = true;
};
## Fonts
fonts.packages = with pkgs; [
nerd-fonts.fira-mono
];
fonts.fontconfig.defaultFonts.serif = ["Fira Mono Nerd Font"];
# System Packages
environment.systemPackages = with pkgs; [
# Utilities
inputs.nvim-wrapped.packages.${stdenv.hostPlatform.system}.default
vim
unzip
python315
usbutils
curlWithGnuTls
# System
mesa
pkg-config
vulkan-tools
gvfs
wayvnc
clang
xdg-desktop-portal
xdg-desktop-portal-hyprland
glib
gnutls
liblzf
librsvg
appimage-run
libnotify
gsettings-desktop-schemas
];
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-all;
};
# The comment
system.stateVersion = "25.05"; # Did you read the comment?
}

469
flake.lock generated
View File

@@ -24,11 +24,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784368054, "lastModified": 1789630322,
"narHash": "sha256-zF1iJkBQSDWmRO4/LEeHR1SpKY0lqZaxkoQJpPS9K9U=", "narHash": "sha256-jiUl3+k9K+BASO4hvKFhlCMUpHPPoy2q5uZMl3pzOF0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "9b5f14d9483445e766294eb8fbe0b8f370269ed0", "rev": "f31c47a1b9d300847d8fc3108ad959448103dfc1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -91,11 +91,11 @@
"nixpkgs-pinned": "nixpkgs-pinned" "nixpkgs-pinned": "nixpkgs-pinned"
}, },
"locked": { "locked": {
"lastModified": 1782405315, "lastModified": 1790349619,
"narHash": "sha256-pZKG7KOr1NPtWwzfEnRZvAi7Uvndd4LiC0OVHjf5IPE=", "narHash": "sha256-cU4QbXhq5LKLUdrlDEVLIm/onZma++w0esx64Hrsi3U=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "c9859df9bd3781c63d838a1a90d22129885a910b", "rev": "4a5b823e81a15c36834c7c2a9f0e18b6added29e",
"revCount": 5, "revCount": 7,
"type": "git", "type": "git",
"url": "https://git.voidarc.co.uk/voidarc/nixos.davinci" "url": "https://git.voidarc.co.uk/voidarc/nixos.davinci"
}, },
@@ -125,11 +125,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1785627969, "lastModified": 1788450739,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=", "narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a", "rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -194,25 +194,7 @@
}, },
"flake-utils_2": { "flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_7" "systems": "systems_8"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_9"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -236,11 +218,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1783347374, "lastModified": 1790439891,
"narHash": "sha256-kdizmVOka0IACJaTeEgftxCeGxdwuT0ba1/9QPGDWgw=", "narHash": "sha256-muUR0v2/4NqyvRjIcya890SwlX3qVukepZV7CnmtgFs=",
"owner": "voidarclabs", "owner": "voidarclabs",
"repo": "gotify-desktop", "repo": "gotify-desktop",
"rev": "b4f62aab117238ce72c19809d19fcfee2b67f5d2", "rev": "f8fd3ca612611ae648bf7355399a3c8374488c25",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -311,11 +293,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1776511930, "lastModified": 1786464181,
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=", "narHash": "sha256-2alOMkLjXANh7unkZnYnCF2K2rApZaOLMoQ3o+VX2CY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "39435900785d0c560c6ae8777d29f28617d031ef", "rev": "e4ed7c08123df5af460a0a70961380cbfb872f76",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -343,11 +325,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782566056, "lastModified": 1786464367,
"narHash": "sha256-haEZcHzYrePnjFOYSWTbxm/Nrla0aPslJfmvdCvqtVc=", "narHash": "sha256-k58p4wbzIXWyRWrW84pP8tD+iaZSSYiiM+fr0Auk4oU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "c6e7b9f673f4360bc813d3dc75028f75ee88d3f8", "rev": "7c895c44e3ca6d28ed68ddd80ec02b02b925e7fc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -356,21 +338,49 @@
"type": "github" "type": "github"
} }
}, },
"hyprgrass": {
"inputs": {
"hyprland": [
"hyprland",
"hyprland"
],
"nixpkgs": [
"hyprgrass",
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1789324148,
"narHash": "sha256-hUJXbEdceQ+cn8RIrD7KDUdc4clFiXDL/z9hHHtGAJM=",
"owner": "horriblename",
"repo": "hyprgrass",
"rev": "f524680fad86d63018dec3c35be61fe55bde2dcd",
"type": "github"
},
"original": {
"owner": "horriblename",
"repo": "hyprgrass",
"type": "github"
}
},
"hyprland": { "hyprland": {
"inputs": { "inputs": {
"hyprland": "hyprland_2", "hyprland": "hyprland_2",
"nixpkgs": "nixpkgs_3", "nixpkgs": [
"nixpkgs"
],
"otter-launcher": "otter-launcher", "otter-launcher": "otter-launcher",
"woomer": "woomer", "woomer": "woomer",
"wrappers": "wrappers", "wrappers": "wrappers",
"wshowkeys": "wshowkeys" "wshowkeys": "wshowkeys"
}, },
"locked": { "locked": {
"lastModified": 1786391152, "lastModified": 1790264545,
"narHash": "sha256-P+dUN0wWRYLop9lLsnCOEi5bYE/GC5LvzV2VZh520TM=", "narHash": "sha256-ombw2VPUqYkLlAvX9FrTS07WL21IsjB4n+CsHwUjH00=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "b4426becc44de00e891098b9883eca2b2028f981", "rev": "22a5e42c7c8c5437253f9cbd3df5b449fb6d7c8e",
"revCount": 53, "revCount": 86,
"type": "git", "type": "git",
"url": "https://git.voidarc.co.uk/voidarc/hypr" "url": "https://git.voidarc.co.uk/voidarc/hypr"
}, },
@@ -419,11 +429,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784196523, "lastModified": 1786464504,
"narHash": "sha256-ahtKMGXFJdlQNhatQm1+BBU/pGfGYnAqQt3vWvq4p8s=", "narHash": "sha256-7sHwM86KILQyHDHDuE2SDBlQ2jvZ0EW3hY7sW009/cg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-guiutils", "repo": "hyprland-guiutils",
"rev": "a6ccb6cb112ed5a244c0191fb972347ecfa893e0", "rev": "4c30cf3097ea963c0e250749ee0c59f8b08816d6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -446,11 +456,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772460177, "lastModified": 1789475883,
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=", "narHash": "sha256-YRFLrPESYitsDYqQKquOFg8OWNI7tHKwPnTrTZWXxWY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917", "rev": "cc9a8fd253bdc00f48a967ecf4828211ef08751f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -476,11 +486,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1785237127, "lastModified": 1789814244,
"narHash": "sha256-sMSWRj9zZ3O4Q1Bk8mKkdXsTb3zpXRESlrzWmQXmW54=", "narHash": "sha256-X8GK0kUU8WAPD4072wafvbcRRtYWiFCSA5Iyz9mr6KU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "ff24e1755fd308ee70367d63168a12feb05d1fc2", "rev": "5fbb2a7acce2d6f155d18cf5b590fc553a8e7abc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -508,11 +518,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1777320127, "lastModified": 1786464129,
"narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=", "narHash": "sha256-339AkTlpMYSIvFuG0rnR+8Yg4/AZKeJalshJavlnKfg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "090117506ddc3d7f26e650ff344d378c2ec329cc", "rev": "9508458be316a0d70d37ebed1ab725ccd10411ff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -567,11 +577,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782554491, "lastModified": 1785930473,
"narHash": "sha256-+p3MlyN/nqRefcf2IckPlGRUn9+hielqpS9XClbLleM=", "narHash": "sha256-DitTu625BhEYpZjtjxtGpjrEJwPwW+X/+jJvhSZNSJM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprtoolkit", "repo": "hyprtoolkit",
"rev": "bdba25ced39ea39ab004a8f31593ba0b0ff1ca35", "rev": "af515b69dfbe366dc7873aa1475cb2f4db3ebad7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -594,11 +604,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784323413, "lastModified": 1788619883,
"narHash": "sha256-XnAVV+H4f8Xdv0yZcSwJ5kCjLyE8fHxPeLX6a3HSrAU=", "narHash": "sha256-dpmeFq5vPvSOsi30ZchOLjltAZEuVBucDvGKs3IZYf4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "5f03477ab3a005ff27c527486f551883535aea2f", "rev": "a21e87b878e72ee5dfd375899e8b2ad0d0c4c0e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -621,11 +631,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1777159683, "lastModified": 1786464033,
"narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=", "narHash": "sha256-QM8Qe4/L8lpdVN4bgwahmi+jyyc4fisseDMe4afcDxA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404", "rev": "62e62c1ca23da17612c6890d4ad2064f575643db",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -653,11 +663,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1778410714, "lastModified": 1786464294,
"narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=", "narHash": "sha256-ZQsZ2WvBdkboCIyh8LStDPdAIARmxzn0XMNxxoOhjPE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwire", "repo": "hyprwire",
"rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc", "rev": "4ce7cd6b6128c1ac41caf23c58a30a26b327f9dd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -668,11 +678,11 @@
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1784254960, "lastModified": 1788467110,
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=", "narHash": "sha256-ljEMTXP/rH0tOvDzc9gzwww6KcHRPRnEHzd9lK48V7s=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69", "rev": "eb1b52eaecc57f7c136d07ae8a93e724dfecac46",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -683,11 +693,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1782233679, "lastModified": 1790113641,
"narHash": "sha256-QyuGP5+QOtmXpy4i2X4DhBVBaySBdDKQEhqKcphcp34=", "narHash": "sha256-D2aaQetafdpHxbwA4ldAxs51UX0b11pXL+JL/5L8VrM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "667d5cf1c59585031d743c78b394b0a647537c35", "rev": "1bc55b9def8165e82073919945c3239903fe4dc2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -699,11 +709,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1785031560, "lastModified": 1788057806,
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=", "narHash": "sha256-DTQSMxzDWmT0zhguthvegnVkn7CFqGCv4IHCzk5ZUpM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c", "rev": "596e2e3940e09b2abbeb03f75fa1828c57fcd72c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -758,45 +768,29 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": {
"locked": {
"lastModified": 1789546076,
"narHash": "sha256-zVxLZiSnmaaPLwnhj7pwmqe3axBg/C6nG5JZsJMh2g4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b1b875982b17dabde9b4a37f3e229e74913e6db3",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1744536153, "lastModified": 1781577229,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1780336545,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": {
"lastModified": 1786599213,
"narHash": "sha256-yNJd40f11EzXBjSByCB7IPpeFFAdeoSKKM67dGkfFoU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -808,11 +802,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1784356753, "lastModified": 1789684949,
"narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=", "narHash": "sha256-ZKhUe/2IJUq1JhKxKMu8rbkgSGmPP2ZCqlIPn40aGCM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "61b7c44c4073f0b827768aff0049561b5110ea5a", "rev": "e554fab72f81915600f3f449b786fd9af40439a5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -823,22 +817,6 @@
} }
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": {
"lastModified": 1785090369,
"narHash": "sha256-m0pDuRJG7EDo9ri+4Ksu83VsI+PlxNC9lNBfydejce4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "624af665418d3c65d544145b4d34ad696439570e",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1782175435, "lastModified": 1782175435,
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=", "narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
@@ -854,13 +832,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1773734432, "lastModified": 1787498568,
"narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", "narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cda48547b432e8d3b18b4180ba07473762ec8558", "rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -870,13 +848,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1781216227, "lastModified": 1789542786,
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=", "narHash": "sha256-ajQuqcxnj6RYnwCjA/9FTCnrdR2+BDzstE8UembXf60=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0", "rev": "4c7870105e7f1fdf9c48688c8d7efc21abf0688a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -886,13 +864,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_7": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1782467914, "lastModified": 1787070829,
"narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", "narHash": "sha256-vXNVDVtvfiQuXthP0NHPFdNvvMTkGpx0UP8oddIWbNk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", "rev": "0ae2bc1419c3f345984c2629e72e7a631820fa4d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -902,13 +880,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_8": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1780336545, "lastModified": 1786719841,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=", "narHash": "sha256-QcpQOT0NQEFkI77t+YXPZqDJc35iIodG7zinieOwFUg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f", "rev": "8be7bd0c83f12e2e3bbba07c9044d6fed9e66f7f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -918,13 +896,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_9": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1769170682, "lastModified": 1783224372,
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=", "narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c5296fdd05cfa2c187990dd909864da9658df755", "rev": "d407951447dcd00442e97087bf374aad70c04cea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -934,17 +912,33 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_9": {
"locked": {
"lastModified": 1788431191,
"narHash": "sha256-MFClkboDeW56feBCAeAV3Z3J2quGSZFlAOXQ4JjIlIA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9b9402b959a2276982ddd5ad3652a38b97f7c40b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvim": { "nvim": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_6",
"wrappers": "wrappers_2" "wrappers": "wrappers_2"
}, },
"locked": { "locked": {
"lastModified": 1786871016, "lastModified": 1787153199,
"narHash": "sha256-gZN2w9EStnsw3JTHLCMQ1op5cETvQQZM2k3zf5zpk+M=", "narHash": "sha256-FpLklQh5O31LY0GejnphNaGI/GZpuRltF9eZbAKlWkk=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "63853fc7c573cba12abcc14d5c70a9ed3de56b4a", "rev": "759a8455709d9c098a0201fb581801d41b270b29",
"revCount": 103, "revCount": 105,
"type": "git", "type": "git",
"url": "https://git.voidarc.co.uk/voidarc/nvim" "url": "https://git.voidarc.co.uk/voidarc/nvim"
}, },
@@ -985,11 +979,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1783875707, "lastModified": 1789817313,
"narHash": "sha256-Ryg3PqFcGydelQpgPF0j8GMaXaGDrNTSesEy6fDw/eg=", "narHash": "sha256-ylVsprB4GxLJMvYQUFtMOz8x8D1Mp7FPudbn89wCasU=",
"owner": "kuokuo123", "owner": "kuokuo123",
"repo": "otter-launcher", "repo": "otter-launcher",
"rev": "242e5da4f0acc0b4301be7b4546f5afb3e4b23d6", "rev": "d764523df810d2b601222009393e886495100fb8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1008,11 +1002,11 @@
"systems": "systems_6" "systems": "systems_6"
}, },
"locked": { "locked": {
"lastModified": 1780973227, "lastModified": 1789296134,
"narHash": "sha256-vlNT2248Oxg3++bk8ZkozsU4wDbxOkh6dl3GeoBmmXE=", "narHash": "sha256-PDe/T14bM7mXQM3gwwdgMHKW8Nsfpbqto9FxsL85Jdc=",
"owner": "kuokuo123", "owner": "kuokuo123",
"repo": "otter-launcher", "repo": "otter-launcher",
"rev": "764a38d1de308da3268222692652a0a85bb71eee", "rev": "9d82c9770f0cad7006e3930a48343a59105c55e6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1031,11 +1025,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784288435, "lastModified": 1789514889,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=", "narHash": "sha256-PFD1nxptCXJyJoiYO1gf/5Vv43yqGpHtMC6LUhl9/pQ=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9", "rev": "59f4ca0d063a1a3ec722c88b51a33004862e5379",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1047,11 +1041,11 @@
"quickshell": { "quickshell": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1786547899, "lastModified": 1790440634,
"narHash": "sha256-QxLEKq1R455FlEmaarx3cq9mk4jSBxHg3CyseLiOick=", "narHash": "sha256-5kU5Ryam1gIyt7mfDqtHYk+bUYmuDh00HpeUGzZqz0k=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "e33041b66c66a1b68930bfd3bb58746ffbd5f4b2", "rev": "297f3fe688c8039262796e8b56c975d9398c2a12",
"revCount": 72, "revCount": 93,
"type": "git", "type": "git",
"url": "https://git.voidarc.co.uk/voidarc/quickshell" "url": "https://git.voidarc.co.uk/voidarc/quickshell"
}, },
@@ -1065,53 +1059,57 @@
"davinci": "davinci", "davinci": "davinci",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"gotify-desktop": "gotify-desktop", "gotify-desktop": "gotify-desktop",
"hyprgrass": "hyprgrass",
"hyprland": "hyprland", "hyprland": "hyprland",
"import-tree": "import-tree", "import-tree": "import-tree",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_5",
"nixpkgs-unstable": "nixpkgs-unstable",
"nvim": "nvim", "nvim": "nvim",
"omnisearch": "omnisearch", "omnisearch": "omnisearch",
"otter-launcher": "otter-launcher_2", "otter-launcher": "otter-launcher_2",
"quickshell": "quickshell", "quickshell": "quickshell",
"sls-steam": "sls-steam", "sls-steam": "sls-steam",
"weylus": "weylus", "sops-nix": "sops-nix",
"woomer": "woomer_2", "woomer": "woomer_2",
"wrappers": "wrappers_3", "wrappers": "wrappers_3",
"wshowkeys": "wshowkeys_2" "wshowkeys": "wshowkeys_2"
} }
}, },
"rust-overlay": { "sls-steam": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_10" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1784438913, "lastModified": 1788435466,
"narHash": "sha256-NYF7ZM5ip0u+w1pBFDpIGEbrbgN/wpnLFAmBkWkYMXw=", "narHash": "sha256-A6izbjMpkQpQxQDFHx5SXw5/1gwTTzO0Vz+1sjPTGdw=",
"owner": "oxalica", "owner": "AceSLS",
"repo": "rust-overlay", "repo": "SLSsteam",
"rev": "afacd6819d3765a05814ee8e3de74c77d42ac799", "rev": "71021ad32e47ad4382717f63c53d2d06d44be3bd",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "oxalica", "owner": "AceSLS",
"repo": "rust-overlay", "repo": "SLSsteam",
"type": "github" "type": "github"
} }
}, },
"sls-steam": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_9" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1781157498, "lastModified": 1790247521,
"narHash": "sha256-gDNHztsHGFAmbbj7Gcu8vWcFU5+4c1EeGU4lhb7Hnqo=", "narHash": "sha256-TNfgoHsqsYYvaJImlWctfRkh4PseTagzegU1Dgdbehw=",
"owner": "AceSLS", "owner": "Mic92",
"repo": "SLSsteam", "repo": "sops-nix",
"rev": "981da676e76f72b1ed3c387f192509ac9a1b91e4", "rev": "2bd00bd9bb35fe6d114888c8f1c2e946c541dd8f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "AceSLS", "owner": "Mic92",
"repo": "SLSsteam", "repo": "sops-nix",
"type": "github" "type": "github"
} }
}, },
@@ -1235,21 +1233,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_9": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@@ -1268,32 +1251,10 @@
"type": "github" "type": "github"
} }
}, },
"weylus": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1784471251,
"narHash": "sha256-07//RRO1xhgR4lKyq460+iOEDHUw21rJRi59fMUhLfM=",
"owner": "voidarclabs",
"repo": "WeylusCommunityEdition",
"rev": "bcf34c2a2c9d3cbac00ca0d3e6ede5b3bbc6a18c",
"type": "github"
},
"original": {
"owner": "voidarclabs",
"repo": "WeylusCommunityEdition",
"type": "github"
}
},
"woomer": { "woomer": {
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_3",
"systems": "systems_4" "systems": "systems_4"
}, },
"locked": { "locked": {
@@ -1316,32 +1277,32 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_8" "systems": "systems_7"
}, },
"locked": { "locked": {
"lastModified": 1782685056, "lastModified": 1787575546,
"narHash": "sha256-WJasTKjf1hcxdCc+jKL3dU5RIL2zdYJ/OBFTmIUbuXc=", "narHash": "sha256-IHHEp8Hv4p+Cm+u4cmQnpRAUSeGaCAEp07uFRRzEgjk=",
"owner": "coffeeispower", "owner": "voidarclabs",
"repo": "woomer", "repo": "woomer",
"rev": "a7a0b288f70b98d168eaa0e8714816d3583c33b1", "rev": "ca331daf3bda84e9079e629a69d84920a917ff4f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "coffeeispower", "owner": "voidarclabs",
"repo": "woomer", "repo": "woomer",
"type": "github" "type": "github"
} }
}, },
"wrappers": { "wrappers": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1785177581, "lastModified": 1789546006,
"narHash": "sha256-9Z4l080DSrHMxoQTZTpVsML2h6JDuB9lDwHPsLd9BrQ=", "narHash": "sha256-hv8Y2AcOGuCoI/5fVjPZzCAOygTbL9wvvY9HKXvvLEk=",
"owner": "lassulus", "owner": "lassulus",
"repo": "wrappers", "repo": "wrappers",
"rev": "f57bc81aa9669871343341b13aa175c8927b6a74", "rev": "e6676c0f59edd80dc1afb6a00047f5578095e4cb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1352,14 +1313,14 @@
}, },
"wrappers_2": { "wrappers_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1782135443, "lastModified": 1786998037,
"narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=", "narHash": "sha256-QJ8QmuqmiOiHCT0HidqwlRpejNfCVcizLmLtzRWHWeQ=",
"owner": "BirdeeHub", "owner": "BirdeeHub",
"repo": "nix-wrapper-modules", "repo": "nix-wrapper-modules",
"rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f", "rev": "780954265c11444ed0c9e164115360f4f5d24d0b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1370,14 +1331,14 @@
}, },
"wrappers_3": { "wrappers_3": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_11" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1786836119, "lastModified": 1788981141,
"narHash": "sha256-oXGC2aM3Bh0MidmPwp/3XtNk69Bgni+WzN9iRhhg+HA=", "narHash": "sha256-7xWS16u13YGlRNKWaAPzRbEyh4OLOXJe31k7h4AnXNU=",
"owner": "BirdeeHub", "owner": "BirdeeHub",
"repo": "nix-wrapper-modules", "repo": "nix-wrapper-modules",
"rev": "747261641d825be8d97abf755399b24057140ab6", "rev": "1db3c116a6aa61823f8d8f3c47c306846428fc54",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1410,19 +1371,19 @@
}, },
"wshowkeys_2": { "wshowkeys_2": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_12" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1781708685, "lastModified": 1785224811,
"narHash": "sha256-NH5b736WoI9LodJKPlonO1X+Lxg8URMLLRkT5to61Zg=", "narHash": "sha256-8upkB3179A8wP5Hph0EanE0VuIxe7VsmsqzcRaOq5y0=",
"owner": "voidarclabs", "owner": "DreamMaoMao",
"repo": "wshowkeys", "repo": "wshowkeys",
"rev": "47dfb7a0237acbf847ca28cbb88000b33929f50a", "rev": "35d70762ab9af4ea301853e79b3b925d5fe9e920",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "voidarclabs", "owner": "DreamMaoMao",
"repo": "wshowkeys", "repo": "wshowkeys",
"type": "github" "type": "github"
} }
@@ -1461,11 +1422,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1784371182, "lastModified": 1788025068,
"narHash": "sha256-S8A1lezEalltWcCp3gAic5lssS0xTSISK6fKODefhOk=", "narHash": "sha256-TBqronrrc/F2Ry/E37d/1TLldDLJDFNSwvJjgk+cXzU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "08d99f727944dd15e4740090305e31c5fb92a50a", "rev": "ba31964ee42b56bcb0d3b78a64ead5d8a1c3c6f6",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -4,11 +4,17 @@
inputs = { inputs = {
# System # System
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Apps # Apps
nvim.url = "git+https://git.voidarc.co.uk/voidarc/nvim"; nvim.url = "git+https://git.voidarc.co.uk/voidarc/nvim";
hyprland = { hyprland = {
url = "git+https://git.voidarc.co.uk/voidarc/hypr"; url = "git+https://git.voidarc.co.uk/voidarc/hypr";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprgrass = {
url = "github:horriblename/hyprgrass";
inputs.hyprland.follows = "hyprland/hyprland";
}; };
otter-launcher = { otter-launcher = {
url = "github:kuokuo123/otter-launcher"; url = "github:kuokuo123/otter-launcher";
@@ -29,12 +35,14 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
woomer = { woomer = {
url = "github:coffeeispower/woomer"; url = "github:voidarclabs/woomer";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
wshowkeys.url = "github:voidarclabs/wshowkeys"; wshowkeys.url = "github:DreamMaoMao/wshowkeys";
weylus = {
url = "github:voidarclabs/WeylusCommunityEdition"; # Secrets and stuff
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };

View File

@@ -3,11 +3,14 @@
moduleWithSystem, moduleWithSystem,
... ...
}: { }: {
flake.nixosModules.gaming = moduleWithSystem ({...}: let flake.nixosModules.gaming = moduleWithSystem ({pkgs, ...}: let
modules = with self.nixosModules; [ modules = with self.nixosModules; [
steam steam
]; ];
in { in {
imports = modules; imports = modules;
environment.systemPackages = with pkgs; [
prismlauncher
];
}); });
} }

View File

@@ -0,0 +1,11 @@
{moduleWithSystem, ...}: {
flake.nixosModules.music = moduleWithSystem ({pkgs, unfreePkgs, ...}: {
environment.systemPackages = with pkgs; [
ardour
unfreePkgs.vital
distrho-ports
cardinal
calf
];
});
}

View File

@@ -0,0 +1,27 @@
{moduleWithSystem, ...}: {
flake.nixosModules.distcc = moduleWithSystem ({unstablePkgs, ...}: {
services.distccd = {
enable = true;
allowedClients = ["192.168.1.0/24"];
};
systemd.services.distccd = {
serviceConfig = {
Environment = [
"\"PATH=/run/wrappers/bin:/run/current-system/sw/bin:/usr/bin:/bin\""
"DISTCCD_PATH=/run/current-system/sw/bin:/run/wrappers/bin:/usr/bin:/bin"
];
};
};
environment.systemPackages = let
pkgs = unstablePkgs;
lib = pkgs.lib;
in [
(pkgs.writeShellScriptBin "x86_64-pc-linux-gnu-gcc" ''
exec ${lib.getExe pkgs.gcc15} "$@"
'')
(pkgs.writeShellScriptBin "x86_64-pc-linux-gnu-g++" ''
exec ${lib.getExe' pkgs.gcc15 "g++"} "$@"
'')
];
});
}

View File

@@ -15,11 +15,10 @@ inputs,
}: { }: {
packages = { packages = {
gotify-desktop = let gotify-desktop = let
# Requires gpg keyring cert in order to get api key
config-file = pkgs.writeText "config.toml" '' config-file = pkgs.writeText "config.toml" ''
[gotify] [gotify]
url = "wss://ntfy.voidarc.co.uk:443" url = "wss://ntfy.voidarc.co.uk:443"
token = { command = "${pkgs.gnupg}/bin/gpg --quiet --batch --decrypt ${./gotify-key.secret}" } token = { command = "cat /run/secrets/gotify-desktop-key"}
[notification] [notification]
min_priority = 1 min_priority = 1
''; '';

View File

@@ -8,11 +8,13 @@
self', self',
pkgs, pkgs,
inputs', inputs',
flakeLocation,
... ...
}: {config, ...}: let }: {config, ...}: let
modules = with self.nixosModules; [ modules = with self.nixosModules; [
audio audio
systemTheme systemTheme
quickshell
]; ];
runtimePkgs = self'.packages.hyprland.passthru.runtimePackages; runtimePkgs = self'.packages.hyprland.passthru.runtimePackages;
@@ -24,6 +26,16 @@
else lib.getExe pkg; else lib.getExe pkg;
in { in {
imports = modules; imports = modules;
options = {
tabletSupport = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable tablet support across all modules";
};
};
config = {
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
package = self'.packages.hyprland; package = self'.packages.hyprland;
@@ -31,11 +43,12 @@
services.displayManager.defaultSession = "hyprland"; services.displayManager.defaultSession = "hyprland";
services.xserver.enable = true; services.xserver.enable = true;
services.seatd.enable = true;
security.polkit.enable = true; security.polkit.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
hyprlock
gsettings-desktop-schemas gsettings-desktop-schemas
glib
]; ];
system.activationScripts.hyprRuntimeEnv = lib.stringAfter ["specialfs"] '' system.activationScripts.hyprRuntimeEnv = lib.stringAfter ["specialfs"] ''
@@ -46,10 +59,33 @@
runtimePkgs)} runtimePkgs)}
''; '';
system.activationScripts.hyprConfig = lib.stringAfter ["specialfs"] '' system.activationScripts.hyprConfig = let
mkdir -p /run/hypr/config hyprgrassPath = "${inputs'.hyprgrass.packages.default}/lib/libhyprgrass.so";
ln -sfn ${inputs'.hyprland.packages.repo-files}/* /run/hypr/config pluginFile = pkgs.writeText "plugins.lua" ''
hl.on("hyprland.start", function ()
${lib.optionalString config.tabletSupport ''
hl.exec_cmd("hyprctl plugin load ${hyprgrassPath}")
''}
end)
''; '';
# Easy way to get nix runtime info (ie the directory the config is at)
# into hyprland to run commands and stuff
runtimeFile = pkgs.writeText "runtime.lua" ''
hl.on("hyprland.start", function ()
${lib.optionalString (flakeLocation != "") ''
hl.exec_cmd( 'curl -X POST -H "Content-Type: application/json" -d "{\"ref\":\"$(git -C ${flakeLocation} rev-parse HEAD)\", \"status\":\"$(git -C ${flakeLocation} diff --quiet && echo "clean" || echo "dirty")\"}" https://n8n.voidarc.co.uk/webhook/config-checker' )
''}
end)
'';
in
lib.stringAfter ["specialfs"] ''
mkdir -p /run/hypr/config
rm -rf /run/hypr/config/*
ln -sfn ${inputs'.hyprland.packages.repo-files}/* /run/hypr/config
ln -sfn ${pluginFile} /run/hypr/config/plugins.lua
ln -sfn ${runtimeFile} /run/hypr/config/runtime.lua
'';
};
}); });
perSystem = { perSystem = {
self', self',
@@ -61,6 +97,7 @@
hyprland = inputs'.hyprland.packages.default.override { hyprland = inputs'.hyprland.packages.default.override {
flags."--config" = "/run/hypr/config/hyprland.lua"; flags."--config" = "/run/hypr/config/hyprland.lua";
env."MODULES_ROOT" = "/run/hypr/config/modules"; env."MODULES_ROOT" = "/run/hypr/config/modules";
env."HYPRLAND_ROOT" = "/run/hypr/config";
runtimePackages = runtimePackages =
inputs.hyprland.lib.defaultRuntimePkgs.${system} inputs.hyprland.lib.defaultRuntimePkgs.${system}
// { // {
@@ -68,10 +105,9 @@
kitty = self'.packages.kitty; kitty = self'.packages.kitty;
gotify-desktop = self'.packages.gotify-desktop; gotify-desktop = self'.packages.gotify-desktop;
otter-launcher = self'.packages.otter-launcher; otter-launcher = self'.packages.otter-launcher;
hyprlock = self'.packages.hyprlock;
quickshell = self'.packages.quickshell; quickshell = self'.packages.quickshell;
wshowkeys = self'.packages.wshowkeys; wshowkeys = self'.packages.wshowkeys;
waybar = self'.packages.waybar;
wlogout = self'.packages.wlogout;
way-edges = self'.packages.way-edges; way-edges = self'.packages.way-edges;
}; };
}; };

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,129 @@
{
inputs,
moduleWithSystem,
...
}: {
flake.nixosModules.hyprlock = moduleWithSystem ({self', ...}: {
environment.systemPackages = with self'.packages; [
hyprock
];
});
perSystem = {pkgs, ...}: {
packages.hyprlock = inputs.wrappers.wrappers.hyprlock.wrap {
inherit pkgs;
"hyprlock.conf".content = ''
source = ${./mocha.conf}
$accent = $mauve
$accentAlpha = $mauveAlpha
$font = FiraMono Nerd Font
# GENERAL
general {
hide_cursor = true
}
# BACKGROUND
background {
monitor =
path = screenshot
blur_passes = 3
color = rgba(0, 0, 0, 0)
}
# LAYOUT
label {
monitor =
text = Layout: $LAYOUT
color = $text
font_size = 25
font_family = $font
position = 30, -30
halign = left
valign = top
}
# TIME
label {
monitor =
text = $TIME
color = $text
font_size = 90
font_family = $font
position = -30, 0
halign = right
valign = top
}
# DATE
label {
monitor =
text = cmd[update:43200000] date +"%A, %d %B %Y"
color = $text
font_size = 25
font_family = $font
position = -30, -150
halign = right
valign = top
}
# FINGERPRINT
{
monitor = "";
text = "$FPRINTPROMPT";
color = "$text";
font_size = 14;
font_family = $font;
position = "0, -107";
halign = "center";
valign = "center";
}
image {
path = ${./cat.png}
size = 240
border_color = transparent
rounding = 0
position = 0, 7px
}
# USER AVATAR
image {
monitor =
path = $HOME/.face
size = 100
border_color = $accent
position = 0, 75
halign = center
valign = center
}
# INPUT FIELD
input-field {
monitor =
size = 300, 60
outline_thickness = 4
dots_size = 0.2
dots_spacing = 0.2
dots_center = true
outer_color = $accent
inner_color = $surface0
font_color = $text
fade_on_empty = false
placeholder_text = <span foreground="##$textAlpha"><i>󰌾 Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>
hide_input = false
check_color = $accent
fail_color = $red
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
capslock_color = $yellow
position = 0, -47
halign = center
valign = center
}
'';
};
};
}

View File

@@ -0,0 +1,79 @@
$rosewater = rgb(f5e0dc)
$rosewaterAlpha = f5e0dc
$flamingo = rgb(f2cdcd)
$flamingoAlpha = f2cdcd
$pink = rgb(f5c2e7)
$pinkAlpha = f5c2e7
$mauve = rgb(cba6f7)
$mauveAlpha = cba6f7
$red = rgb(f38ba8)
$redAlpha = f38ba8
$maroon = rgb(eba0ac)
$maroonAlpha = eba0ac
$peach = rgb(fab387)
$peachAlpha = fab387
$yellow = rgb(f9e2af)
$yellowAlpha = f9e2af
$green = rgb(a6e3a1)
$greenAlpha = a6e3a1
$teal = rgb(94e2d5)
$tealAlpha = 94e2d5
$sky = rgb(89dceb)
$skyAlpha = 89dceb
$sapphire = rgb(74c7ec)
$sapphireAlpha = 74c7ec
$blue = rgb(89b4fa)
$blueAlpha = 89b4fa
$lavender = rgb(b4befe)
$lavenderAlpha = b4befe
$text = rgb(cdd6f4)
$textAlpha = cdd6f4
$subtext1 = rgb(bac2de)
$subtext1Alpha = bac2de
$subtext0 = rgb(a6adc8)
$subtext0Alpha = a6adc8
$overlay2 = rgb(9399b2)
$overlay2Alpha = 9399b2
$overlay1 = rgb(7f849c)
$overlay1Alpha = 7f849c
$overlay0 = rgb(6c7086)
$overlay0Alpha = 6c7086
$surface2 = rgb(585b70)
$surface2Alpha = 585b70
$surface1 = rgb(45475a)
$surface1Alpha = 45475a
$surface0 = rgb(313244)
$surface0Alpha = 313244
$base = rgb(1e1e2e)
$baseAlpha = 1e1e2eee
$mantle = rgb(181825)
$mantleAlpha = 181825
$crust = rgb(11111b)
$crustAlpha = 11111b

View File

@@ -1,4 +1,4 @@
set $mod Mod4 set $mod Mod1
set $term kitty set $term kitty
set $menu dmenu_run set $menu dmenu_run

View File

@@ -18,8 +18,7 @@
windowManager.i3 = { windowManager.i3 = {
enable = true; enable = true;
package = self'.packages.i3; package = self'.packages.i3;
extraPackages = with pkgs; extraPackages = with pkgs; [
[
dmenu dmenu
i3status i3status
xinit xinit
@@ -27,8 +26,13 @@
}; };
}; };
}); });
perSystem = {pkgs, self', ...}: { perSystem = {
packages.i3 = inputs.wrappers.lib.wrapPackage ({...}: { pkgs,
lib,
self',
...
}: {
packages.i3 = lib.warn "i3 is no longer maintained and therefore marked as deprecated" inputs.wrappers.lib.wrapPackage ({...}: {
inherit pkgs; inherit pkgs;
package = pkgs.i3; package = pkgs.i3;
runtimePkgs = with pkgs; runtimePkgs = with pkgs;

View File

@@ -7,10 +7,20 @@
self', self',
pkgs, pkgs,
... ...
}: { }: {config, ...}: {
environment.systemPackages = with self'.packages; [ environment.systemPackages = with self'.packages;
[
quickshell quickshell
]; ]
++ (
if config.tabletSupport == true
then
# If on tablet enable on screen keyboard
(with pkgs; [
wvkbd
])
else []
);
}); });
perSystem = {pkgs, ...}: { perSystem = {pkgs, ...}: {
packages.quickshell = inputs.wrappers.wrappers.quickshell.wrap { packages.quickshell = inputs.wrappers.wrappers.quickshell.wrap {

View File

@@ -0,0 +1,24 @@
{inputs, ...}: {
flake.nixosModules.sops = {config, ...}: {
imports = [inputs.sops-nix.nixosModules.sops];
sops = {
age.keyFile = "/etc/sops/age/keys.txt";
defaultSopsFile = ./secrets.yaml;
secrets = {
gotify-desktop-key = {
# Make readable
mode = "0444";
};
};
templates = {
"gotify-desktop-key".content = config.sops.placeholder.gotify-desktop-key;
};
};
# Make the secrets dir readable to normal users
systemd.tmpfiles.rules = [
"d /run/secrets 0755 root root -"
];
};
}

View File

@@ -0,0 +1,16 @@
gotify-desktop-key: ENC[AES256_GCM,data:kMCJfkrf5jKAgjX9hT9S,iv:T/zDp94522MeW6V3874JgyaQCx5H1qY+DsZOoPBaC1w=,tag:Csu+9imWiMBYXaE0uXzMsg==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKR3ZQTzVxWWFFam91Y1V0
VGdnSkZFcmJ6RG1JOHp3R1puY2ZRazkxbmlZCjYyek5QOWEzaWg2bnpXc0ZrNks0
QUl2Nk45R1h6WjFTSWlveUF5RHlRcEUKLS0tIE5mYmQ1aWpvNGNjYzJrUW9DSXpm
MS8ralY4WDI1YjhNSmRWYWxYL3VkbDAKQuLvaHiUXkwiaOif10vrl3LFh/4mKQUV
Y3HJ9Jr3DAyokEzN7S/S1v50coM1bE4d74SS/V1uIw0nYdZRUGrZww==
-----END AGE ENCRYPTED FILE-----
recipient: age1rg4rsns375z2zj4tv8cyqtjl504fw8tprlmj2w057dz6ztttjstsgjvkvy
lastmodified: "2026-09-25T19:37:14Z"
mac: ENC[AES256_GCM,data:OMk7qEbx9F/qa6zERu23fNyTzfxbTJZnPyPdVbXhZvjX+KB8pFE1bks6Qfw/C0TwcYsUBIFgr/YO0IaBLStkdoADpeqN4wRbunwTCND0w6V3ZOGza7+5UiT0Zp2KEamuTTco4mDdBUoBkid+aW0jlqAfKtZ4v9VH34IsEOjT2T8=,iv:uqMTZj/rsMFmOWy4aXblmsZ4TVji2i8SfqpCs21VQOU=,tag:x4LtAV6+i8npKygjWjDRpQ==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3

View File

@@ -0,0 +1,151 @@
" cyberdream.vim - Cyberdream theme for Vim
" Maintainer: 0l3d
" Description: Cyberdream theme for Vim
highlight clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "cyberdream"
set termguicolors
" ─────────────────────────────────────────────────────────────
" Core UI
" ─────────────────────────────────────────────────────────────
highlight Normal guifg=#ffffff guibg=#16181a
highlight NormalNC guifg=#ffffff guibg=#16181a
highlight Cursor guifg=#16181a guibg=#ffffff
highlight CursorLine guibg=#3c4048
highlight CursorColumn guibg=#3c4048
highlight CursorLineNr guifg=#7b8496
highlight LineNr guifg=#7b8496
highlight ColorColumn guibg=#3c4048
highlight Visual guibg=#3c4048
highlight VisualNOS guibg=#3c4048
highlight MatchParen guifg=#ff5ea0 guibg=#3c4048
highlight Search guifg=#1e2124 guibg=#ffffff
highlight IncSearch guifg=#1e2124 guibg=#5ef1ff
highlight CurSearch guifg=#1e2124 guibg=#5ef1ff
highlight Directory guifg=#5ea1ff
highlight VertSplit guifg=#3c4048 guibg=#16181a
highlight WinSeparator guifg=#3c4048 guibg=#16181a
highlight EndOfBuffer guifg=#7b8496
" ─────────────────────────────────────────────────────────────
" Popup / Float
" ─────────────────────────────────────────────────────────────
highlight NormalFloat guifg=#ffffff guibg=#16181a
highlight FloatBorder guifg=#3c4048 guibg=#16181a
highlight FloatTitle guifg=#5ef1ff guibg=#16181a
highlight Pmenu guifg=#ffffff guibg=#16181a
highlight PmenuSel guifg=#ffffff guibg=#3c4048
highlight PmenuSbar guifg=#16181a guibg=#3c4048
highlight PmenuThumb guifg=#16181a guibg=#3c4048
highlight PmenuMatch guifg=#5ef1ff guibg=#3c4048
highlight PmenuMatchSel guifg=#5ef1ff guibg=#3c4048
" ─────────────────────────────────────────────────────────────
" Diff
" ─────────────────────────────────────────────────────────────
highlight DiffAdd guifg=#5eff6c guibg=#3c4048
highlight DiffChange guifg=#5ea1ff guibg=#3c4048
highlight DiffDelete guifg=#ff6e5e guibg=#3c4048
highlight DiffText guifg=#ffbd5e guibg=#3c4048
highlight Added guifg=#5eff6c
highlight Removed guifg=#ff6e5e
" ─────────────────────────────────────────────────────────────
" Diagnostics / LSP
" ─────────────────────────────────────────────────────────────
highlight DiagnosticError guifg=#ff6e5e
highlight DiagnosticWarn guifg=#ffe95e
highlight DiagnosticInfo guifg=#5ea1ff
highlight DiagnosticHint guifg=#5ef1ff
highlight DiagnosticUnnecessary guifg=#7b8496
highlight DiagnosticVirtualTextError guifg=#ff6e5e
highlight DiagnosticVirtualTextWarn guifg=#ffe95e
highlight DiagnosticVirtualTextInfo guifg=#5ea1ff
highlight DiagnosticVirtualTextHint guifg=#5ef1ff
highlight DiagnosticUnderlineError gui=undercurl guisp=#ff6e5e
highlight DiagnosticUnderlineWarn gui=undercurl guisp=#ffe95e
highlight DiagnosticUnderlineInfo gui=undercurl guisp=#5ea1ff
highlight DiagnosticUnderlineHint gui=undercurl guisp=#5ef1ff
highlight LspReferenceText guibg=#3c4048
highlight LspReferenceRead guibg=#3c4048
highlight LspReferenceWrite guibg=#3c4048
highlight LspSignatureActiveParameter guifg=#ffbd5e
highlight LspCodeLens guifg=#7b8496
highlight LspInlayHint guifg=#7b8496
" ─────────────────────────────────────────────────────────────
" Syntax
" ─────────────────────────────────────────────────────────────
highlight Comment guifg=#7b8496 gui=italic
highlight Constant guifg=#ffbd5e
highlight String guifg=#5eff6c
highlight Character guifg=#5eff6c
highlight Boolean guifg=#ffbd5e
highlight Number guifg=#ffbd5e
highlight Identifier guifg=#5ea1ff
highlight Function guifg=#5ea1ff
highlight Statement guifg=#bd5eff
highlight Operator guifg=#bd5eff
highlight Keyword guifg=#ffbd5e
highlight PreProc guifg=#bd5eff
highlight Label guifg=#5ef1ff
highlight Type guifg=#ffe95e
highlight Special guifg=#ff5ea0
highlight Delimiter guifg=#ffffff
highlight Debug guifg=#ffbd5e
highlight Error guifg=#ff6e5e
highlight Todo guifg=#bd5eff gui=bold
" ─────────────────────────────────────────────────────────────
" Markdown
" ─────────────────────────────────────────────────────────────
highlight markdownHeadingDelimiter guifg=#7b8496
highlight markdownCode guifg=#5ef1ff
highlight markdownCodeBlock guifg=#5ef1ff
highlight markdownH1 guifg=#ffbd5e gui=bold
highlight markdownH2 guifg=#5ef1ff gui=bold
highlight markdownH3 guifg=#5ea1ff gui=bold
highlight markdownH4 guifg=#bd5eff gui=bold
highlight markdownH5 guifg=#ff5ef1 gui=bold
highlight markdownH6 guifg=#5eff6c gui=bold
highlight markdownLinkText guifg=#5ea1ff gui=underline
" ─────────────────────────────────────────────────────────────
" UI Bars
" ─────────────────────────────────────────────────────────────
highlight StatusLine guifg=#ffffff guibg=#16181a
highlight StatusLineNC guifg=#7b8496 guibg=#16181a
highlight TabLine guifg=#7b8496 guibg=#16181a
highlight TabLineFill guifg=#7b8496 guibg=#16181a
highlight TabLineSel guifg=#ffffff guibg=#3c4048
highlight WinBar guifg=#ffffff guibg=#16181a
highlight WinBarNC guifg=#7b8496 guibg=#16181a
" ─────────────────────────────────────────────────────────────
" Misc
" ─────────────────────────────────────────────────────────────
highlight SpecialKey guifg=#7b8496
highlight Whitespace guifg=#3c4048
highlight Question guifg=#ffe95e
highlight MoreMsg guifg=#5ea1ff
highlight WarningMsg guifg=#ffbd5e
highlight ErrorMsg guifg=#ff6e5e
highlight QuickFixLine guibg=#3c4048
highlight qfLineNr guifg=#7b8496
highlight qfFileName guifg=#5ea1ff

View File

@@ -0,0 +1,22 @@
{
inputs,
moduleWithSystem,
...
}: {
flake.nixosModules.vim = moduleWithSystem ({pkgs, ...}: let
modules = [];
in {});
perSystem = {pkgs, ...}: {
packages.vim = inputs.wrappers.wrappers.vim.wrap {
inherit pkgs;
plugins = with pkgs.vimPlugins; [
# vim-lsp
# vim-lsp-settings
# asyncomplete-vim
# asyncomplete-lsp-vim
ale
];
vimrc = builtins.readFile ./vimrc;
};
};
}

View File

@@ -0,0 +1,62 @@
" Set colorscheme and enable highlighting
colorscheme catppuccin
set termguicolors
syntax on
" Set tab stuff
set tabstop=2
set shiftwidth=2
set expandtab
set softtabstop=2
" Enable line numbers
set number
set relativenumber
set cursorline
" Make cursorlinenum a different color
augroup colorAutoCmds
autocmd!
autocmd ColorScheme * highlight CursorLineNr cterm=bold guifg=#cba6f7
augroup END
set ignorecase
set smartcase
set hlsearch
set incsearch
" Set different cursor shapes depending on mode
let &t_SI = "\e[6 q"
let &t_EI = "\e[2 q"
augroup cursorCmds
au!
autocmd VimEnter * silent !echo -ne "\e[2 q"
augroup END
" Completion menu
"inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
"inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
"inoremap <expr> <cr> pumvisible() ? asyncomplete#close_popup() : "\<cr>"
set omnifunc=ale#completion#OmniFunc
nnoremap K <cmd>ALEHover<CR>
nnoremap <leader>gd <cmd>ALEGoToDefinition<CR>
nnoremap <leader>gr <cmd>ALEFindReferences<CR>
nnoremap <leader>ca <cmd>ALECodeAc
let g:ale_completion_enabled = 1
autocmd User lsp_setup call lsp#register_server({
\ 'name': 'nixd',
\ 'cmd': ['nixd'],
\ 'allowlist': ['nix'],
\ })
let g:ale_linters = {
\ 'nix': ['nixd'],
\}
let g:ale_fixers = {
\ 'nix': ['alejandra'],
\}
let g:ale_fix_on_save = 1

View File

@@ -8,8 +8,8 @@
waybar waybar
]; ];
}); });
perSystem = {pkgs, ...}: { perSystem = {pkgs, lib, ...}: {
packages.waybar = inputs.wrappers.wrappers.waybar.wrap { packages.waybar = lib.warn "Waybar is deprecated and no longer maintained. Please use pacakges.quickshell instead" inputs.wrappers.wrappers.waybar.wrap {
inherit pkgs; inherit pkgs;
"style.css".path = ./style.css; "style.css".path = ./style.css;
configFile.content = '' configFile.content = ''

View File

@@ -1,9 +0,0 @@
{moduleWithSystem, ...}: {
flake.nixosModules.weylus = moduleWithSystem ({inputs', ...}: {
programs.weylus = {
enable = true;
package = inputs'.weylus.packages.default;
users = ["user01"];
};
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

0
modules/features/wpaperd/wallpapers/wallpaper-sun.jpg Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 592 KiB

After

Width:  |  Height:  |  Size: 592 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -17,6 +17,11 @@ final_space = true
alignment = 'left' alignment = 'left'
newline = true newline = true
[[blocks.segments]] # Hostname
type = 'text'
style = 'plain'
template = '{{ if .Env.SSH_CLIENT }}<green>󰒋 {{.HostName}}</> <#7f849c>|</> {{ end }}'
[[blocks.segments]] [[blocks.segments]]
type = 'text' type = 'text'
style = 'plain' style = 'plain'
@@ -34,11 +39,6 @@ template = '''
{{- end -}} {{- end -}}
''' '''
[[blocks.segments]] # Hostname
type = 'text'
style = 'plain'
template = '{{ if eq .HostName "server02" }}<green>󰒋 {{.HostName}}</> <#7f849c>|</> {{ end }}'
[[blocks.segments]] # Python venv [[blocks.segments]] # Python venv
type = 'text' type = 'text'
style = 'plain' style = 'plain'

View File

@@ -25,15 +25,13 @@
}); });
perSystem = { perSystem = {
pkgs, pkgs,
lib,
self', self',
lib,
flakeLocation,
... ...
}: { }: {
packages = { packages = {
zsh = let zsh = lib.warnIf (flakeLocation == "") "Flake Location is undefined. Are you building in the right directory?"
flakeLocation = builtins.getEnv "PWD";
in
lib.warnIf (flakeLocation == "") "Flake Location is undefined. Are you building in the right directory?"
inputs.wrappers.wrappers.zsh.wrap { inputs.wrappers.wrappers.zsh.wrap {
inherit pkgs; inherit pkgs;
runtimePkgs = [pkgs.carapace pkgs.devenv pkgs.fzf]; runtimePkgs = [pkgs.carapace pkgs.devenv pkgs.fzf];
@@ -87,7 +85,9 @@
setopt NO_CASE_GLOB setopt NO_CASE_GLOB
${lib.getExe pkgs.any-nix-shell} zsh --info-right | source /dev/stdin if command -v ${lib.getExe pkgs.nix-your-shell} > /dev/null; then
${lib.getExe pkgs.nix-your-shell} -- zsh | source /dev/stdin
fi
export EDITOR=nvim export EDITOR=nvim

View File

@@ -9,14 +9,13 @@
hackstationConfiguration hackstationConfiguration
amdDrivers amdDrivers
youtube youtube
distcc
development development
bottles bottles
gaming gaming
davinci davinci
sddm-autologin sddm-autologin
nix-ld nix-ld
i3
]; ];
}; };
} }

View File

@@ -10,6 +10,7 @@
intelDrivers intelDrivers
development development
upower upower
music
]; ];
}; };
} }

View File

@@ -0,0 +1,20 @@
{
self,
inputs,
...
}: {
flake.nixosConfigurations.mobile03 = inputs.nixpkgs.lib.nixosSystem {
modules = with self.nixosModules; [
desktop
mobile03Configuration
intelDrivers
development
thinkpadFanControl
upower
distcc
({...}: {
tabletSupport = true;
})
];
};
}

View File

@@ -0,0 +1,11 @@
{
self,
inputs,
...
}: {
flake.nixosModules.mobile03Configuration = {...}: {
networking = {
hostName = "mobile03";
};
};
}

View File

@@ -12,6 +12,8 @@
playerctl playerctl
pavucontrol pavucontrol
pulseaudioFull pulseaudioFull
pipewire
pipewire.jack
]; ];
services.pulseaudio.enable = false; services.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
@@ -24,6 +26,7 @@
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
jack.enable = true; jack.enable = true;
wireplumber.enable = true;
}; };
}; };
} }

View File

@@ -1,13 +1,5 @@
{ {self, ...}: {
self, flake.nixosModules.core = {pkgs, ...}: let
inputs,
...
}: {
flake.nixosModules.core = {
pkgs,
lib,
...
}: let
modules = with self.nixosModules; [ modules = with self.nixosModules; [
user user
bootloader bootloader
@@ -21,8 +13,14 @@
/etc/nixos/hardware-configuration.nix /etc/nixos/hardware-configuration.nix
] ]
++ modules; ++ modules;
services = { services = {
openssh.enable = true; openssh = {
enable = true;
settings = {
PermitRootLogin = "yes";
};
};
avahi.enable = true; avahi.enable = true;
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -1,9 +1,16 @@
{inputs, ...}: { {inputs, ...}: {
perSystem = {system, ...}: { perSystem = {system, ...}: {
_module.args.unfreePkgs = import inputs.nixpkgs { _module.args = {
unfreePkgs = import inputs.nixpkgs {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
unstablePkgs = import inputs.nixpkgs-unstable {
inherit system;
};
# Make flakeLocation universally addressable
flakeLocation = builtins.getEnv "PWD";
};
}; };
flake.nixosModules.nix = {...}: { flake.nixosModules.nix = {...}: {
nix = { nix = {

View File

@@ -20,7 +20,12 @@
description = "user01"; description = "user01";
extraGroups = [ extraGroups = [
"root" "root"
"seat"
"audio"
"video"
"wheel" "wheel"
"plugdev"
"networkmanager"
]; ];
}; };
}; };

View File

@@ -11,6 +11,7 @@
network network
omnisearch omnisearch
tailscale tailscale
sops
]; ];
in { in {
imports = modules; imports = modules;

View File

@@ -12,11 +12,20 @@
mesa mesa
vulkan-tools vulkan-tools
]; ];
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "iHD";
};
boot.initrd.kernelModules = ["i915"];
services.xserver.videoDrivers = ["modesetting"];
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-vaapi-driver intel-media-driver
libva-vdpau-driver vpl-gpu-rt
intel-compute-runtime
]; ];
}; };
}; };

View File

@@ -0,0 +1,27 @@
{
self,
moduleWithSystem,
...
}: {
flake.nixosModules.thinkpadFanControl = moduleWithSystem ({inputs', ...}: {
# Enable fan control for the thinkpad module (why is this not the default??)
boot.extraModprobeConfig = ''
options thinkpad_acpi fan_control=1
'';
services.thinkfan = {
enable = true;
extraArgs = ["-s" "5"];
levels = [
[0 0 55]
[1 50 60]
[3 58 68]
[5 65 75]
[7 73 85]
["level disengaged" 82 32767]
];
};
});
}

View File

@@ -1,13 +1,5 @@
{ {moduleWithSystem, ...}: {
self, flake.nixosModules.network = moduleWithSystem ({...}: {config, ...}: {
inputs,
...
}: {
flake.nixosModules.network = {
pkgs,
lib,
...
}: {
networking = { networking = {
networkmanager = { networkmanager = {
enable = true; enable = true;
@@ -22,7 +14,11 @@
services.unbound = { services.unbound = {
enable = true; enable = true;
}; };
programs.nm-applet.enable =
if config.tabletSupport == true
then true
else false;
systemd.services.NetworkManager-wait-online.enable = false; systemd.services.NetworkManager-wait-online.enable = false;
}; });
} }