Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2025-06-17 18:02:53 +02:00
26 changed files with 594 additions and 1016 deletions

15
.ignore Normal file
View File

@@ -0,0 +1,15 @@
flake.lock
*.remmina
*.pem
*.env
*.key
*.ovpn
sops-secrets.yaml
*.png
*.jpg
*.webp
*.gif
*.mp3
*.mp4

View File

@@ -1,7 +1,7 @@
keys:
- &users:
- &nx2backup age1sgzc2jh8af30a3cp6g7l4hyzusqrn3x3xw7frghc4akvjaplwa3stfemxc
- &nx2 22FB2CC03DC5292AB81CF67D0AF27B383170E634
- &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
- &hosts:
- &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
- &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
@@ -13,6 +13,6 @@ creation_rules:
- *north
- *xps
- *ace
- *nx2backup
- *nx2_key_13
pgp:
- *nx2

View File

@@ -1,7 +1,9 @@
{ pkgs, hyper, inputs, ... }:
{
imports = ([
imports = [
inputs.sops-nix.nixosModules.sops
inputs.nixpkgs.nixosModules.readOnlyPkgs
./system-modules/adb.nix
./system-modules/auto-mount.nix
./system-modules/boot.nix
@@ -41,7 +43,7 @@
./system-modules/users.nix
./system-modules/virtualisation.nix
./system-modules/ydotool.nix
]) ++ (if (hyper.host == "NxACE") then [
] ++ (if (hyper.host == "NxACE") then [
./system-modules/nx2site.nix
./system-modules/hugo.nix
./system-modules/postgres.nix
@@ -136,9 +138,9 @@
systemd.extraConfig = "DefaultLimitNOFILE=2048";
boot.tmp.useTmpfs = false;
system.stateVersion = "25.05";
system.stateVersion = pkgs.version;
nixpkgs.config.allowUnfree = true;
nixpkgs.pkgs = pkgs;
nix = {
settings = {

View File

@@ -4,6 +4,8 @@
"discord"
"spotify"
"obsidian"
"steam"
"steam-unwrapped"
"zoom-us"
"zoom"
@@ -35,6 +37,8 @@
"libnvjitlink"
"libcusparse"
"libnpp"
"vscode-extension-mhutchie-git-graph"
];
inecure = [

View File

@@ -1,13 +1,13 @@
{
"base": {
"foreground": "#dbd2f8",
"background": "#0f062c"
"foreground": "#fefefe",
"background": "#020202"
},
"to_alter": {
"accent": "#724ce5",
"secondary": "#ff3271",
"tertiary": "#ffc932",
"special": "#bfe54b",
"weird": "#e54b8b"
"accent": "#aaaaff",
"secondary": "#aaeeff",
"tertiary": "#aaffaa",
"special": "#aaffaa",
"weird": "#ffffaa"
}
}

View File

@@ -13,7 +13,7 @@ pkgs: rec {
alter = let f = lib.alter-luminace-hex; in color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
# ccolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json));
ccolor = builtins.mapAttrs alter-set {
black = "#111111"; # "#111111" "#001100";
black = "#040404"; # "#111111" "#001100";
white = "#dddddd"; # "#dddddd" "#66dd66";
blue = "#4444dd"; # "#3333dd" "#003300";
cyan = "#44dddd"; # "#11dddd" "#00dd55";

682
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,61 +9,48 @@
home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; };
nixos-wsl = { url = "github:nix-community/NixOS-WSL/main"; };
nix-on-droid = { url = "github:nix-community/nix-on-droid/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; };
sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
lanzaboote = { url = "github:nix-community/lanzaboote/v0.3.0"; };
lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; };
hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; };
hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; };
hyprswitch = { url = "github:h3rmt/hyprswitch/release"; };
hyprspace = { url = "github:KZDKM/Hyprspace"; inputs.hyprland.follows = "hyprland"; };
yazi = { url = "github:sxyazi/yazi"; };
yazi-plugins = { url = "github:lordkekz/nix-yazi-plugins"; inputs.nixpkgs.follows = "nixpkgs"; };
zen-browser = { url = "github:MarceColl/zen-browser-flake"; };
ghostty = { url = "github:ghostty-org/ghostty"; };
};
outputs = { self, ... }@inputs: with inputs; let
outputs = { ... }@inputs: with inputs; let
system = "x86_64-linux";
config = { allowUnfree = true; allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
config = { allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
hyper-base = rec {
inherit system;
user = "nx2";
domain = "nx2.site";
home = "/home/${user}/";
webroot = "/var/lib/hugo/nx2site/public";
};
pkgs = import nixpkgs { inherit system config; } // {
pkgs = (import nixpkgs { inherit system config; }) // {
unstable = import nixpkgs-unstable { inherit system config; };
latest = import nixpkgs-latest { inherit system config; };
version = "25.05";
};
pkgs64 = let
system = "aarch64-linux";
in import nixpkgs { inherit system config; } // {
unstable = import nixpkgs-unstable { inherit system config; };
latest = import nixpkgs-latest { inherit system config; };
version = "24.05";
};
nvidia-base = import ./flake-modules/nvidia.nix;
secrets = import ./git-crypt/secrets.nix;
rice = import ./flake-modules/rice.nix pkgs;
in {
nixosConfigurations = let
make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./configuration.nix ];
specialArgs = let
hyper = hyper-base // { inherit host; nvidia = nvidia-base // nvidia-settings; };
hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); };
in { inherit pkgs inputs hyper rice secrets; };
};
make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./nixos-wsl.nix ];
specialArgs = let
hyper = hyper-base // { inherit host; };
@@ -75,10 +62,6 @@
NxACE = make-nixos-system "NxACE" { enable = false; };
NxWSL = make-nixos-wsl-system "NxWSL";
};
nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
pkgs = pkgs64;
modules = [ ./nix-on-droid.nix ];
};
homeConfigurations = let
make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration {
@@ -100,8 +83,6 @@
"${hyper-base.user}@NxNORTH" = make-home-configuration "NxNORTH" hyper-base.user { enable = true; prime = false; };
"${hyper-base.user}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; };
"${hyper-base.user}@NxS23U" = make-shell-configuration "NxS23U" hyper-base.user;
"${hyper-base.user}@NxWSL" = make-shell-configuration "NxWSL" hyper-base.user;
};
};

View File

@@ -193,7 +193,7 @@ in {
"external": {
"streamlink": {
"quality": "",
"options": "--config /${hyper.home}/.config/streamlink/config"
"options": "--config ${hyper.home}/.config/streamlink/config"
}
}
}

View File

@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
services.clipman = {
package = pkgs.clipman;
enable = true;
};
}

View File

@@ -3,197 +3,198 @@ pkgs.lib.mkIf (hyper.host != "NxACE")
{
home = {
packages = with pkgs; [
vesktop
# vesktop
discord
];
file.".config/vesktop/settings/settings.json".text = let
settingsSyncVersion = "1729179678715";
in /* json */ ''{
"notifyAboutUpdates": true,
"autoUpdate": false,
"autoUpdateNotification": true,
"useQuickCss": true,
"themeLinks": [
"https://luckfire.github.io/amoled-cord/src/amoled-cord.css"
],
"enabledThemes": [],
"enableReactDevtools": false,
"frameless": false,
"transparent": true,
"winCtrlQ": false,
"macosTranslucency": false,
"disableMinSize": false,
"winNativeTitleBar": false,
"plugins": {
"BadgeAPI": { "enabled": true },
"CommandsAPI": { "enabled": true },
"ContextMenuAPI": { "enabled": true },
"MemberListDecoratorsAPI": { "enabled": false },
"MessageAccessoriesAPI": { "enabled": false },
"MessageDecorationsAPI": { "enabled": false },
"MessageEventsAPI": { "enabled": false },
"MessagePopoverAPI": { "enabled": false },
"NoticesAPI": { "enabled": true },
"ServerListAPI": { "enabled": false },
"NoTrack": { "enabled": true },
"Settings": {
"enabled": true,
"settingsLocation": "aboveActivity"
},
"SupportHelper": { "enabled": true },
"ChatInputButtonAPI": { "enabled": false },
"AlwaysAnimate": { "enabled": true },
"AlwaysTrust": { "enabled": true },
"AnonymiseFileNames": { "enabled": false },
"WebRichPresence (arRPC)": { "enabled": false },
"BANger": { "enabled": false },
"BetterFolders": { "enabled": false },
"BetterGifAltText": { "enabled": false },
"BetterGifPicker": { "enabled": false },
"BetterNotesBox": { "enabled": false },
"BetterRoleDot": { "enabled": false },
"BetterUploadButton": { "enabled": false },
"BiggerStreamPreview": { "enabled": false },
"BlurNSFW": { "enabled": false },
"CallTimer": { "enabled": false },
"ClearURLs": { "enabled": false },
"ClientTheme": { "enabled": false },
"ColorSighted": { "enabled": false },
"ConsoleShortcuts": { "enabled": false },
"CopyUserURLs": { "enabled": false },
"CrashHandler": { "enabled": true },
"CustomRPC": { "enabled": false },
"Dearrow": { "enabled": false },
"Decor": { "enabled": false },
"DisableCallIdle": { "enabled": false },
"EmoteCloner": { "enabled": false },
"Experiments": { "enabled": false },
"F8Break": { "enabled": false },
"FakeNitro": { "enabled": false },
"FakeProfileThemes": { "enabled": true },
"FavoriteEmojiFirst": { "enabled": false },
"FavoriteGifSearch": { "enabled": false },
"FixCodeblockGap": { "enabled": false },
"FixSpotifyEmbeds": { "enabled": false },
"FixYoutubeEmbeds": { "enabled": false },
"ForceOwnerCrown": { "enabled": false },
"FriendInvites": { "enabled": false },
"GameActivityToggle": { "enabled": false },
"GifPaste": { "enabled": false },
"GreetStickerPicker": { "enabled": false },
"HideAttachments": { "enabled": false },
"iLoveSpam": { "enabled": false },
"IgnoreActivities": { "enabled": false },
"ImageZoom": { "enabled": false },
"InvisibleChat": { "enabled": false },
"KeepCurrentChannel": { "enabled": false },
"LastFMRichPresence": { "enabled": false },
"LoadingQuotes": { "enabled": false },
"MemberCount": { "enabled": false },
"MessageClickActions": { "enabled": false },
"MessageLinkEmbeds": { "enabled": false },
"MessageLogger": { "enabled": false },
"MessageTags": { "enabled": false },
"MoreCommands": { "enabled": false },
"MoreKaomoji": { "enabled": false },
"MoreUserTags": { "enabled": false },
"Moyai": { "enabled": false },
"MutualGroupDMs": { "enabled": false },
"NewGuildSettings": { "enabled": false },
"NoBlockedMessages": { "enabled": false },
"NoDevtoolsWarning": { "enabled": false },
"NoF1": { "enabled": false },
"NoMosaic": { "enabled": false },
"NoPendingCount": { "enabled": false },
"NoProfileThemes": { "enabled": false },
"NoReplyMention": { "enabled": false },
"NoScreensharePreview": { "enabled": false },
"NoTypingAnimation": { "enabled": false },
"NoUnblockToJump": { "enabled": false },
"NormalizeMessageLinks": { "enabled": false },
"NotificationVolume": { "enabled": false },
"NSFWGateBypass": { "enabled": false },
"OnePingPerDM": { "enabled": false },
"oneko": { "enabled": false },
"OpenInApp": { "enabled": false },
"Party mode 🎉": { "enabled": false },
"PermissionFreeWill": { "enabled": false },
"PermissionsViewer": { "enabled": false },
"petpet": { "enabled": false },
"PictureInPicture": { "enabled": false },
"PinDMs": { "enabled": false },
"PlainFolderIcon": { "enabled": false },
"PlatformIndicators": { "enabled": false },
"PreviewMessage": { "enabled": false },
"PronounDB": { "enabled": false },
"QuickMention": { "enabled": false },
"QuickReply": { "enabled": false },
"ReactErrorDecoder": { "enabled": false },
"ReadAllNotificationsButton": { "enabled": false },
"RelationshipNotifier": { "enabled": false },
"RevealAllSpoilers": { "enabled": false },
"ReverseImageSearch": { "enabled": false },
"ReviewDB": { "enabled": false },
"RoleColorEverywhere": { "enabled": true },
"SearchReply": { "enabled": false },
"SecretRingToneEnabler": { "enabled": false },
"SendTimestamps": { "enabled": false },
"ServerListIndicators": { "enabled": false },
"ServerProfile": { "enabled": false },
"ShikiCodeblocks": { "enabled": false },
"ShowAllMessageButtons": { "enabled": false },
"ShowConnections": { "enabled": false },
"ShowHiddenChannels": { "enabled": false },
"ShowMeYourName": { "enabled": false },
"ShowTimeouts": { "enabled": false },
"SilentMessageToggle": { "enabled": false },
"SilentTyping": { "enabled": false },
"SortFriendRequests": { "enabled": false },
"SpotifyControls": { "enabled": false },
"SpotifyCrack": { "enabled": false },
"SpotifyShareCommands": { "enabled": false },
"StartupTimings": { "enabled": false },
"SuperReactionTweaks": { "enabled": false },
"TextReplace": { "enabled": false },
"ThemeAttributes": { "enabled": false },
"TimeBarAllActivities": { "enabled": false },
"Translate": { "enabled": false },
"TypingIndicator": { "enabled": false },
"TypingTweaks": { "enabled": false },
"Unindent": { "enabled": false },
"UnsuppressEmbeds": { "enabled": false },
"UrbanDictionary": { "enabled": false },
"UserVoiceShow": { "enabled": false },
"USRBG": { "enabled": false },
"ValidUser": { "enabled": false },
"VoiceChatDoubleClick": { "enabled": false },
"VcNarrator": { "enabled": false },
"VencordToolbox": { "enabled": false },
"ViewIcons": { "enabled": false },
"ViewRaw": { "enabled": false },
"VoiceMessages": { "enabled": false },
"WebContextMenus": {
"enabled": true,
"addBack": true },
"WebKeybinds": { "enabled": true },
"WhoReacted": { "enabled": false },
"Wikisearch": { "enabled": false },
"XSOverlay": { "enabled": false }
},
"notifications": {
"timeout": 5000,
"position": "bottom-right",
"useNative": "not-focused",
"logLimit": 50
},
"cloud": {
"authenticated": false,
"url": "https://api.vencord.dev/",
"settingsSync": false,
"settingsSyncVersion": ${settingsSyncVersion}
}
}
'';
# file.".config/vesktop/settings/settings.json".text = let
# settingsSyncVersion = "1729179678715";
# in /* json */ ''{
# "notifyAboutUpdates": true,
# "autoUpdate": false,
# "autoUpdateNotification": true,
# "useQuickCss": true,
# "themeLinks": [
# "https://luckfire.github.io/amoled-cord/src/amoled-cord.css"
# ],
# "enabledThemes": [],
# "enableReactDevtools": false,
# "frameless": false,
# "transparent": true,
# "winCtrlQ": false,
# "macosTranslucency": false,
# "disableMinSize": false,
# "winNativeTitleBar": false,
# "plugins": {
# "BadgeAPI": { "enabled": true },
# "CommandsAPI": { "enabled": true },
# "ContextMenuAPI": { "enabled": true },
# "MemberListDecoratorsAPI": { "enabled": false },
# "MessageAccessoriesAPI": { "enabled": false },
# "MessageDecorationsAPI": { "enabled": false },
# "MessageEventsAPI": { "enabled": false },
# "MessagePopoverAPI": { "enabled": false },
# "NoticesAPI": { "enabled": true },
# "ServerListAPI": { "enabled": false },
# "NoTrack": { "enabled": true },
# "Settings": {
# "enabled": true,
# "settingsLocation": "aboveActivity"
# },
# "SupportHelper": { "enabled": true },
# "ChatInputButtonAPI": { "enabled": false },
# "AlwaysAnimate": { "enabled": true },
# "AlwaysTrust": { "enabled": true },
# "AnonymiseFileNames": { "enabled": false },
# "WebRichPresence (arRPC)": { "enabled": false },
# "BANger": { "enabled": false },
# "BetterFolders": { "enabled": false },
# "BetterGifAltText": { "enabled": false },
# "BetterGifPicker": { "enabled": false },
# "BetterNotesBox": { "enabled": false },
# "BetterRoleDot": { "enabled": false },
# "BetterUploadButton": { "enabled": false },
# "BiggerStreamPreview": { "enabled": false },
# "BlurNSFW": { "enabled": false },
# "CallTimer": { "enabled": false },
# "ClearURLs": { "enabled": false },
# "ClientTheme": { "enabled": false },
# "ColorSighted": { "enabled": false },
# "ConsoleShortcuts": { "enabled": false },
# "CopyUserURLs": { "enabled": false },
# "CrashHandler": { "enabled": true },
# "CustomRPC": { "enabled": false },
# "Dearrow": { "enabled": false },
# "Decor": { "enabled": false },
# "DisableCallIdle": { "enabled": false },
# "EmoteCloner": { "enabled": false },
# "Experiments": { "enabled": false },
# "F8Break": { "enabled": false },
# "FakeNitro": { "enabled": false },
# "FakeProfileThemes": { "enabled": true },
# "FavoriteEmojiFirst": { "enabled": false },
# "FavoriteGifSearch": { "enabled": false },
# "FixCodeblockGap": { "enabled": false },
# "FixSpotifyEmbeds": { "enabled": false },
# "FixYoutubeEmbeds": { "enabled": false },
# "ForceOwnerCrown": { "enabled": false },
# "FriendInvites": { "enabled": false },
# "GameActivityToggle": { "enabled": false },
# "GifPaste": { "enabled": false },
# "GreetStickerPicker": { "enabled": false },
# "HideAttachments": { "enabled": false },
# "iLoveSpam": { "enabled": false },
# "IgnoreActivities": { "enabled": false },
# "ImageZoom": { "enabled": false },
# "InvisibleChat": { "enabled": false },
# "KeepCurrentChannel": { "enabled": false },
# "LastFMRichPresence": { "enabled": false },
# "LoadingQuotes": { "enabled": false },
# "MemberCount": { "enabled": false },
# "MessageClickActions": { "enabled": false },
# "MessageLinkEmbeds": { "enabled": false },
# "MessageLogger": { "enabled": false },
# "MessageTags": { "enabled": false },
# "MoreCommands": { "enabled": false },
# "MoreKaomoji": { "enabled": false },
# "MoreUserTags": { "enabled": false },
# "Moyai": { "enabled": false },
# "MutualGroupDMs": { "enabled": false },
# "NewGuildSettings": { "enabled": false },
# "NoBlockedMessages": { "enabled": false },
# "NoDevtoolsWarning": { "enabled": false },
# "NoF1": { "enabled": false },
# "NoMosaic": { "enabled": false },
# "NoPendingCount": { "enabled": false },
# "NoProfileThemes": { "enabled": false },
# "NoReplyMention": { "enabled": false },
# "NoScreensharePreview": { "enabled": false },
# "NoTypingAnimation": { "enabled": false },
# "NoUnblockToJump": { "enabled": false },
# "NormalizeMessageLinks": { "enabled": false },
# "NotificationVolume": { "enabled": false },
# "NSFWGateBypass": { "enabled": false },
# "OnePingPerDM": { "enabled": false },
# "oneko": { "enabled": false },
# "OpenInApp": { "enabled": false },
# "Party mode 🎉": { "enabled": false },
# "PermissionFreeWill": { "enabled": false },
# "PermissionsViewer": { "enabled": false },
# "petpet": { "enabled": false },
# "PictureInPicture": { "enabled": false },
# "PinDMs": { "enabled": false },
# "PlainFolderIcon": { "enabled": false },
# "PlatformIndicators": { "enabled": false },
# "PreviewMessage": { "enabled": false },
# "PronounDB": { "enabled": false },
# "QuickMention": { "enabled": false },
# "QuickReply": { "enabled": false },
# "ReactErrorDecoder": { "enabled": false },
# "ReadAllNotificationsButton": { "enabled": false },
# "RelationshipNotifier": { "enabled": false },
# "RevealAllSpoilers": { "enabled": false },
# "ReverseImageSearch": { "enabled": false },
# "ReviewDB": { "enabled": false },
# "RoleColorEverywhere": { "enabled": true },
# "SearchReply": { "enabled": false },
# "SecretRingToneEnabler": { "enabled": false },
# "SendTimestamps": { "enabled": false },
# "ServerListIndicators": { "enabled": false },
# "ServerProfile": { "enabled": false },
# "ShikiCodeblocks": { "enabled": false },
# "ShowAllMessageButtons": { "enabled": false },
# "ShowConnections": { "enabled": false },
# "ShowHiddenChannels": { "enabled": false },
# "ShowMeYourName": { "enabled": false },
# "ShowTimeouts": { "enabled": false },
# "SilentMessageToggle": { "enabled": false },
# "SilentTyping": { "enabled": false },
# "SortFriendRequests": { "enabled": false },
# "SpotifyControls": { "enabled": false },
# "SpotifyCrack": { "enabled": false },
# "SpotifyShareCommands": { "enabled": false },
# "StartupTimings": { "enabled": false },
# "SuperReactionTweaks": { "enabled": false },
# "TextReplace": { "enabled": false },
# "ThemeAttributes": { "enabled": false },
# "TimeBarAllActivities": { "enabled": false },
# "Translate": { "enabled": false },
# "TypingIndicator": { "enabled": false },
# "TypingTweaks": { "enabled": false },
# "Unindent": { "enabled": false },
# "UnsuppressEmbeds": { "enabled": false },
# "UrbanDictionary": { "enabled": false },
# "UserVoiceShow": { "enabled": false },
# "USRBG": { "enabled": false },
# "ValidUser": { "enabled": false },
# "VoiceChatDoubleClick": { "enabled": false },
# "VcNarrator": { "enabled": false },
# "VencordToolbox": { "enabled": false },
# "ViewIcons": { "enabled": false },
# "ViewRaw": { "enabled": false },
# "VoiceMessages": { "enabled": false },
# "WebContextMenus": {
# "enabled": true,
# "addBack": true },
# "WebKeybinds": { "enabled": true },
# "WhoReacted": { "enabled": false },
# "Wikisearch": { "enabled": false },
# "XSOverlay": { "enabled": false }
# },
# "notifications": {
# "timeout": 5000,
# "position": "bottom-right",
# "useNative": "not-focused",
# "logLimit": 50
# },
# "cloud": {
# "authenticated": false,
# "url": "https://api.vencord.dev/",
# "settingsSync": false,
# "settingsSyncVersion": ${settingsSyncVersion}
# }
# }
# '';
};
}

View File

@@ -83,6 +83,7 @@
lzd = "lazydocker";
d = "docker";
dcmp = "docker compose";
stui = "sudo systemctl-tui";
# nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
# ya = "yazi"; # function

View File

@@ -1,54 +1,48 @@
{ config, rice, hyper, inputs, ... }:
{ pkgs, rice, ... }:
{
home = {
packages = [ inputs.ghostty.packages.${hyper.system}.default ];
file."${config.xdg.configHome}/ghostty/config".text = with rice.color; /* ini */ ''
font-family="${rice.font.code.name}"
clipboard-read=allow
# clipboard-write=allow
# clipboard-read=deny
# clipboard-write=deny
clipboard-trim-trailing-spaces=true
clipboard-paste-protection=false
window-decoration=false
confirm-close-surface=false
window-padding-x=5
window-padding-y=5
keybind=ctrl+comma=reload_config
keybind=ctrl+equal=increase_font_size:1
keybind=ctrl+minus=decrease_font_size:1
keybind=ctrl+shift+v=paste_from_clipboard
background=${background}
foreground=${foreground}
background-opacity=${builtins.toString rice.transparency}
cursor-color=${special.bright}
cursor-opacity=0.8
palette=0=${black.base}
palette=8=${black.bright}
palette=1=${red.base}
palette=9=${red.bright}
palette=2=${green.base}
palette=10=${green.bright}
palette=3=${yellow.base}
palette=11=${yellow.bright}
palette=4=${blue.base}
palette=12=${blue.bright}
palette=5=${magenta.base}
palette=13=${magenta.bright}
palette=6=${cyan.base}
palette=14=${cyan.bright}
palette=7=${white.base}
palette=15=${white.bright}
selection-background=${accent.base}
selection-foreground=${background}
'';
programs.ghostty = {
enable = true;
package = pkgs.ghostty;
settings = with rice.color; {
background = background;
background-opacity = builtins.toString rice.transparency;
clipboard-paste-protection = false;
clipboard-read = "allow";
clipboard-trim-trailing-spaces = true;
confirm-close-surface = false;
cursor-color = special.bright;
cursor-opacity = 0.8;
font-family = "${rice.font.code.name}";
foreground = foreground;
keybind = [
"ctrl+comma=reload_config"
"ctrl+equal=increase_font_size:1"
"ctrl+minus=decrease_font_size:1"
"ctrl+shift+v=paste_from_clipboard"
];
palette = with rice; [
"0=${black.base}"
"8=${black.bright}"
"1=${red.base}"
"9=${red.bright}"
"2=${green.base}"
"10=${green.bright}"
"3=${yellow.base}"
"11=${yellow.bright}"
"4=${blue.base}"
"12=${blue.bright}"
"5=${magenta.base}"
"13=${magenta.bright}"
"6=${cyan.base}"
"14=${cyan.bright}"
"7=${white.base}"
"15=${white.bright}"
];
selection-background = accent.base;
selection-foreground = background;
window-decoration = false;
window-padding-x = 5;
window-padding-y = 5;
};
};
}

View File

@@ -10,6 +10,7 @@
"blueman-manager" = "󰂯"
"chatterino" = ""
"Chromium" = ""
"chromium-browser" = ""
"code" = "󰨞"
"code-oss" = "󰨞"
"codium" = "󰨞"

View File

@@ -66,6 +66,7 @@ in {
hyprland-protocols
hyprlock
hypridle
hyprshot
hyprpicker
hyprcursor
@@ -74,8 +75,8 @@ in {
# ]) ++ (with pkgs-unstable; [
]) ++ (with inputs; [
hyprswitch.packages.x86_64-linux.default
# ]) ++ (with inputs; [
# hyprswitch.packages.x86_64-linux.default
]);
@@ -90,7 +91,8 @@ in {
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# inputs.hyprfocus.packages.${pkgs.system}.hyprfocus
# inputs.hycov.packages.${pkgs.system}.hycov
# inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
pkgs.hyprlandPlugins.hyprspace
# inputs.hyprspace.packages.${pkgs.system}.Hyprspace
];
settings = {
@@ -133,7 +135,7 @@ in {
"27, monitor:${d2}"
"28, monitor:${d2}"
"29, monitor:${d2}"
"20, monitor:${d2}"
"20, monitor:${d2}, ${compact}"
"31, monitor:${d3}, default:${let x = if hyper.host == "NxNORTH" then "true" else "false"; in x}"
"32, monitor:${d3}"
"33, monitor:${d3}"
@@ -208,7 +210,7 @@ in {
blur = {
enabled = true;
size = "3";
size = "10";
passes = "2";
xray = false;
vibrancy = 0.5;
@@ -218,9 +220,10 @@ in {
animations = {
enabled = true;
# bezier = "myBezier, 0.01, 0.9, 0.1, 1.0"; #o
bezier = "myBezier, 0.01, 0.9, 0.1, 1.0"; #o
# bezier = "myBezier, 0.83, 0, 0.17, 1"; # io
bezier = "myBezier, 0.33, 1, 0.68, 1";
# bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
# bezier = "myBezier, 0.33, 1, 0.68, 1";
animation = let direction = if hyper.host == "NxXPS" then "slide" else "slidevert"; in [
"windows, 1, ${animation-speed}, myBezier, slide"
"border, 1, ${animation-speed}, myBezier"
@@ -273,65 +276,51 @@ in {
windowrulev2 = [
"bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1"
"noanim, class:^(presenter)$" # sent
"float, class:^(presenter)$" # sent
"noanim, class:^(imv)$"
"float, class:^(imv)$"
"fullscreen, class:^(imv)$"
# "float, initialTitle:^(Edit Item)$" # thunderbid calendar
# "dimaround on, initialTitle:^(Edit Item)$" # thunderbid calendar
"float,class:^(thunderbird)$"
# "float,class:^(thunderbird)$,title:^(.*)(Reminder)(.*)$"
# "float,class:^(thunderbird)$,title:^About(.*)$"
# "float,class:^(thunderbird)$,title:^(Check Spelling)$"
"center 1,class:^(gimp)$"
] ++ [
"bordersize 0, floating:0, onworkspace:w[tv1]"
"rounding 0, floating:0, onworkspace:w[tv1]"
"bordersize 0, floating:0, onworkspace:f[1]"
"rounding 0, floating:0, onworkspace:f[1]"
] ++ [
"center 1,class:^(gimp)$"
"float, class:^(ibus-ui.*)$"
"float, class:^(ibus-ui-gtk3)$"
"float, class:^(imv)$"
"float, class:^(org.kde.polkit-kde-authentication-agent-1)$"
"float, class:^(presenter)$" # sent
"float, class:^(thunderbird)$"
"float, title:^(Compact folders)$"
"float, title:^(Ibus-ui.*)$"
"float, title:^(Ibus-ui-gtk3)$"
"float, title:^(Page Info .*)$"
"float, title:^(Picture-in-Picture)$"
"float, title:^(wlogout)$"
"fullscreen, class:^(imv)$"
"fullscreen, class:^(sent)$"
"fullscreen, class:^(wlogout)$"
"noanim, class:^(imv)$"
"noanim, class:^(presenter)$" # sent
# "opacity ${transparency}, firefox"
"opacity ${transparency}, class:^(code-oss)$"
"opacity ${transparency}, class:^(VSCodium)$"
"opacity ${transparency}, class:^(Code)$"
# "opacity ${transparency}, sent"
"opacity ${transparency}, class:^(neovide)$"
"opacity ${transparency}, class:^(obsidian)$"
# "opacity ${transparency}, zathura"
# "bordercolor rgba(${rice.lib.nohash rice.color.foreground}ff) rgba(${rice.lib.nohash rice.color.background}${rice.lib.float-to-drune rice.transparency}), Alacritty"
# "bordercolor rgba(${rice.lib.nohash rice.color.foreground}ff) rgba(${rice.lib.nohash rice.color.background}${rice.lib.float-to-drune rice.transparency}), ${terminal}"
"opacity ${transparency}, class:^(code-oss)$"
"opacity ${transparency}, class:^(discord)$"
"opacity ${transparency}, class:^(vesktop)$"
# "opacity ${transparency}, class:^(Element)$"
"opacity ${transparency}, class:^(lutris)$"
"opacity ${transparency}, class:^(element)$"
# "opacity ${transparency}, ^([sS]potify)$"
# "opacity ${transparency}, virt-manager"
# "opacity ${transparency}, thunar"
"opacity ${transparency}, class:^(neovide)$"
"opacity ${transparency}, class:^(obsidian)$"
"opacity ${transparency}, class:^(vesktop)$"
"opacity ${transparency}, class:^(VSCodium)$"
"opacity ${transparency}, title:^(wlogout)$"
"opaque, title:^(GNU Image Manipulation Program)$"
"float, title:^(Picture-in-Picture)$"
# "float, class:^(Ibus-ui.*)$"
# "float, ^(ibus-ui.*)$"
# "float, ^(ibus-ui-gtk3)$"
"float, title:^(Ibus-ui-gtk3)$"
"pin, title:^(Picture-in-Picture)$"
"float, class:^(org.kde.polkit-kde-authentication-agent-1)$"
"float, title:^(wlogout)$"
"float, class:^(imv)$"
"float, title:^(Page Info .*)$"
"float, title:^(Compact folders)$"
"tile, class:^(sent)$"
"fullscreen, class:^(wlogout)$"
"fullscreen, class:^(sent)$"
"workspace 14, class:^(lutris)$"
"workspace 100, title:^(Apex Legends)$"
# "workspace 100, ^(cyberpunk2077.exe)$"
"workspace 100, title:^(No Man.s Sky)$"
"workspace 100, class:^(gamescope)$"
];
@@ -354,7 +343,6 @@ in {
###########################################################################
## ROW 0:
bind = [
"SUPER SHIFT, Escape, exit, "
"SUPER, F1, workspace, 100"
"SUPER SHIFT, F1, movetoworkspace, 100"
# "SUPER, F2,"
@@ -405,8 +393,8 @@ in {
###########################################################################
## ROW 2:
#bind = SUPER, TAB, hycov:toggleoverview
# "SUPER, TAB, overview:toggle"
# "SUPER, TAB, hycov:toggleoverview"
"SUPER, TAB, overview:toggle"
# "SUPER, TAB, hyprexpo:expo, toggle"
"ALT, TAB, focuscurrentorlast"
# "SUPER, TAB, exec, hyprswitch --daemon"
@@ -437,7 +425,8 @@ in {
"SUPER, A, execr, waybar_mode set ' 󰹑 '"
"SUPER, A, submap, scrL"
"SUPER, S, exec, spotify"
"SUPER, D, exec, vesktop --disable-gpu-compositing"
# "SUPER, D, exec, vesktop --disable-gpu-compositing"
"SUPER, D, exec, discord"
"SUPER, F, fullscreen"
# "SUPER, G,"
"SUPER, H, movefocus, l"
@@ -491,7 +480,9 @@ in {
###########################################################################
## MEGA KEYS:
'' , Print, exec, grim -g "$(slurp)"''
", Print, execr, waybar_mode set '󰄀 '"
", Print, submap, screenshot"
# "SUPER, Next, resizeactive, 5% 5%" # binde
# "SUPER, Prior, resizeactive, -5% -5%" # binde
@@ -528,6 +519,39 @@ in {
"SUPER, Next, resizeactive, 10% 10%"
"SUPER, Prior, resizeactive, -10% -10%"
];
plugin = {
overview = {
# panelHeight =
# panelBorderWidth =
onBottom = false; # whether if panel should be on bottom instead of top
# workspaceMargin = # spacing of workspaces with eachother and the edge of the panel
# reservedArea = # padding on top of the panel, for Macbook camera notch
workspaceBorderSize = rice.border-width; #
centerAligned = true; # whether if workspaces should be aligned at the center (KDE / macOS style) or at the left (Windows style)
hideBackgroundLayers = true; # do not draw background and bottom layers in overview
hideTopLayers = false; # do not draw top layers in overview
hideOverlayLayers = false; # do not draw overlay layers in overview
hideRealLayers = false; # whether to hide layers in actual workspace
drawActiveWorkspace = true; # draw the active workspace in overview as-is
overrideGaps = false; # whether if overview should override the layout gaps in the current workspace using the following values
# gapsIn = #
# gapsOut = #
affectStrut = false; # whether the panel should push window aside, disabling this option also
dots_center = true;
autoDrag = true; # mouse click always drags window when overview is open
autoScroll = true; # mouse scroll on active workspace area always switch workspace
exitOnClick = true; # mouse click without dragging exits overview
switchOnDrop = true; # switch to the workspace when a window is droppped into it
exitOnSwitch = true; # overview exits when overview is switched by clicking on workspace view or by switchOnDrop
showNewWorkspace = false; # add a new empty workspace at the end of workspaces view
showEmptyWorkspace = false; # show empty workspaces that are inbetween non-empty workspaces
showSpecialWorkspace = false; # defaults to false
disableGestures = true;
reverseSwipe = true; # reverses the direction of swipe gesture, for macOS peeps?
exitKey = true;
};
};
};
@@ -614,6 +638,13 @@ in {
bind = , Escape, submap, reset
submap = reset
submap = screenshot
${action_simple { key = "W"; cmd = ''exec,hyprshot -m window''; }}
${action_simple { key = "M"; cmd = ''exec,hyprshot -m output''; }}
${action_simple { key = "R"; cmd = ''exec,hyprshot -m region''; }}
bind = , Escape, execr, waybar_mode unset
bind = , Escape, submap, reset
submap = reset
'';
};

View File

@@ -1,11 +1,11 @@
{ pkgs, ... }:
{ pkgs, hyper, ... }:
{
home.packages = [
(pkgs.writeShellApplication {
name = "nx_backup";
runtimeInputs = [ ];
text = let
web-root = "/var/nginx/webroot";
web-root = hyper.webroot;
gitea-backup = "/var/backup/gitea";
postgres-backup = "/var/backup/postgresql";
in /* bash */ ''

View File

@@ -6,6 +6,7 @@
cmake
dig
du-dust
dysk
exiftool
eza
ffmpeg

View File

@@ -1,12 +1,12 @@
{ hyper, inputs, ... }:
{ pkgs, hyper, inputs, ... }:
{
imports = [
inputs.sops-nix.homeManagerModules.sops
];
sops = {
# age.keyFile = "/home/${user}/.config/sops/age/keys.txt";
gnupg.home = "${hyper.home}/.gnupg";
age.keyFile = pkgs.lib.mkIf (hyper.host == "NxACE") "${hyper.home}.age_nx2_key_13.txt";
gnupg.home = pkgs.lib.mkIf (hyper.host != "NxACE") "${hyper.home}.gnupg";
defaultSopsFile = ../sops-secrets.yaml;
# %r is $XDG_RUNTIME_DIR

View File

@@ -10,14 +10,10 @@
package = inputs.yazi.packages.${hyper.system}.default;
enableFishIntegration = true;
shellWrapperName = "ya";
plugins = with inputs.yazi-plugins.packages.${hyper.system}; {
inherit
# chmod
starship;
};
# plugins = with inputs.yazi-plugins.packages.${hyper.system}; { };
# initLua = /* lua */ '' '';
keymap = {
manager.keymap = [
mgr.keymap = [
{ on = "<Esc>"; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; }
{ on = "q"; run = "quit"; desc = "Exit the process"; }
{ on = "Q"; run = "quit --no-cwd-file"; desc = "Exit the process without writing cwd-file"; }
@@ -181,7 +177,7 @@
];
};
settings = {
manager = {
mgr = {
layout = [2 3 4];
sort_by = "natural";
sort_sensitive = true;
@@ -293,7 +289,7 @@
];
};
theme = with rice.color; {
manager = {
mgr = {
cwd = { fg = foreground; bg = background; };
hovered = { fg = background; bg = accent.base; };
preview_hovered = { underline = false; };

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, inputs, ... }:
{ pkgs, hyper, ... }:
{
imports = [
./home-modules/auto-mount.nix
@@ -6,6 +6,7 @@
./home-modules/bitwarden.nix
./home-modules/calendar.nix
./home-modules/chatterino.nix
./home-modules/clipboard.nix
./home-modules/color-pallete.nix
./home-modules/direnv.nix
./home-modules/discord.nix
@@ -104,24 +105,18 @@
reflex
ripgrep
screen
# speedtest-go
spicetify-cli
sssnake
swww
systemctl-tui
tldr
unstable.firefox
unstable.spotify
w3m
wev
wl-clipboard
xclip
xfce.thunar
# xournal
yt-dlp
inputs.zen-browser.packages."${system}".default
] ++ (if (hyper.host != "NxACE") then [
signal-desktop
obsidian

View File

@@ -53,52 +53,51 @@ sops:
- recipient: age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKdWFGWTZ4WktJNy85aUlz
R1ZPR2xSajUxSGU5NlVDTGhpUGJ1S0RMVkc4CmhZR080ZVdHUHZnSmk1ekIyM0xm
ZDN6dXJ6aXYyYkg4WVdiMlgwbmNBUzAKLS0tIE9qUmFpN3Nrek9JTGlaN3RjcDA1
bUZxZ0FuOXcxSVQraUgveEh3dm5XK0kKToAW0mEq3G/wWRnvfJWasW7eO8BeFlej
OkXvP5R4+bddAsGPK83UxOUOFbZAzaYulFSaAFOssCOTui335nj+/w==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZWl0RCszNGZqNDhzY25a
K2dPTGMvMzBSZytRMWR5d1pkTVpETmNZUTFzCmUrU25XdklVc3NicUV2OVh5bktR
YmZIeGZzYkVJMXRwSkt6bXlaRGpiaEkKLS0tIEZOMDUxaEo1aXRsV050a3I0eFNR
UlIxODJVK3lEaC9lWG9wNmhaUWhuZEEKnQT50Svfxgnbo6+gTSGyLW8vt+hzehu5
djy0wdML7XGORKURUJcAnGCdgsugu7exTBPMeKldlPXySPGUf6vPRA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvNzRERlBkMFVwbk5ka3Rz
WHN5VE1XVFN6OWlMSFl1MnQyTEc4RHZVa0ZZCkZuY3doMTNUclMvWTJmQzFkbHlh
Z3ZXSUZuRzBoN2NtU2dWUzFXMjc1MDQKLS0tIGNvN1JsdGF2ZFU2Vkl4UGtzdDFJ
aE9uY1NQSkFoWmg4WGlvV2JDbkcyeXMKh1yVwrTV+4XhEiiiMhA7rW7z11N+EsXU
FBHP2nk2UXWPQGioMiCinead8tjX2jfeQcmTwdk4aYMtnvpqWS5RVQ==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBISzJjS2t4OFNtd2s3RjE3
V2hOUnByNVp3bjE4a0tPSkdCbXcwU093NGtFCmR2RXdzbTk1RXhQbmdVM0pkdGhE
T2VGN1VnYlRqWXRmWEJucTd5eU5HYWsKLS0tIFJRODNibTZNRjZtZjlpN0IzbVZQ
aHQwY0l3OTRVYlNSZnBQMGM4ekp0NGMKL0scPlNFywKmdPI3I8sgvmaVXOp6qm2m
O0N8BuQPEhiZXzNhPBPJnt6e/X+eW35lXdvbQ6AKv791WjZ4OlSZow==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jj7kfjw3e7rf9kwg5f87zf4ns6yr5465wcasanr9gcgwrq7c6dmq6gprgk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBva2JleWhLeERPbklkems1
YjJXUzlSZmhla0JFU2dtWFZzNWt4MTk4aEhFCnNvVmZmNm9Uc1pMWWNBRFpYRUJ1
R20vOEpsTGZFZ1p4V1JzSnVlSGJNY00KLS0tIDMreVdDSHdGVnhvVi9ENXFJY045
ZGdKSmZmRFMveld2UmlPNmtNWTdIbWsKJkmAaS91KR1Lvx2tCuu7sfUUYq4eeLsa
woel57Bqqpo8f0UMb8T6s8grdKMspZCkIu5ooR/U4xWhwOJQwd2gbw==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwT2laNmNOYnhON2FEcGxl
OVFHa2owL1RCWWNWdDhzZWRlSkhPZmJpQjFvCjNPSGc4L1V5cENBMzY2VU56RnNW
QmNiNGMyZXY0WmN3R0c5YURQN1RGbDQKLS0tIE5lZXZiR2FZVms4YllUd1BsOURD
YTMxdkhkLzNGOWVYQkZJQnVCeW4zcXcKLaGzWYXBaR9mpLE47pWAkYUv/L5JuCR9
ZH2oaOLio6BHY+pf9WbbazbjIKXMZ8KozpLTzbn7ayKYYgGxEiwdIA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1sgzc2jh8af30a3cp6g7l4hyzusqrn3x3xw7frghc4akvjaplwa3stfemxc
- recipient: age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMVUJaM3MweHBMNjlxdHRD
blNZWHM3ZlZrUkVrQ3NhNnFkc1VIMytkMVhFCndTczlsVFc3bGRhRkZmRm5sMXp0
dnZrOEVoS3F6L0hSSTUrYllnNldYTnMKLS0tIFNjVzEzTC9LZldGMmlZS3VYRThW
SHJLR3lvdlFiRmJuU25RUHFFTmpjamMKbzycdDvQBAuOiRROTZEQSnaXoPapz73L
yVS9EUP25FSx/sGqRqaCefbeaybuM1aso6LDnlomv4Bib7zjugWKSw==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByUmxCQ3ZOVGlWUWFkcGk1
ZzNaR0R0UG43dkh5Wjd5MmQ5SlkwU0g3c0ZJCnVYZExQdi94ME56eUVwUG5XbjJi
OC9OSmZYeHo4anJLb0NQSEs3cmMrS1UKLS0tIFJWU1VYL09SbDlHZlJtRlhmSjFJ
YkJWUEMySU50ZHVxUzVudjNnYURXak0KkMn/8sFrrviqb3s8DtS/BAbrdCwJ+jv/
A8rXQkKMjvTqG1f0fq5IlSmRAQy7XFBzkfbKdIUoefhey190WPEHaw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-06-16T08:57:57Z"
mac: ENC[AES256_GCM,data:Qwk39Cv+WhxnW8858qWtGPiCrYb4bje5nRGOkG4OrAC/dZ+wpbMd9DXF134PUM1NB/aI3ivnl4EeVAlcv/E32EjodZJOGkseKme5Hler69+nfL0DJT00XhBDR3aGVf3YMA5Po+XR9ikLKFF1wz4DhV4ylN6RxxMrpLJltba+0NI=,iv:QUulKPfnAujRUNWKBKUsIynOHsd4E09NO8TlaQwzFy0=,tag:N1LNlbvdjkXWarIAI9tkZg==,type:str]
pgp:
- created_at: "2024-06-09T19:44:41Z"
- created_at: "2025-06-08T12:35:30Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DCvJ7ODFw5jQSAQdAUcAbKZ7q2ZNLG55YA8gSUc7Lyqn2G/7srJa17lezUlgw
MIhuvf6H1TfUkabE8it12NZzhSibmC+7T6FqB9tTY8UXvMn8KzVbIX5Opu/J9NNp
1GgBCQIQUai/KFbpw4kaUthOe2ftUuN7fYLL0Nl4ZqrGNJMFYTjwOFyb6yWE7i7C
fEjGjALJU2ZZIL3mZ4FYkqU1eoidKLSnDtsGArxz0ACEo8UWuR7t1QFD3oYUFu0D
i5Hfz3tyzMfPsA==
=7FCO
hF4DCvJ7ODFw5jQSAQdAw5PIhSmghpU+R4d8A9FY1z9NwN2C1CQvnP0u/D6k9nEw
4jYo133RBpSmZUEOPsrAIGDwcx5rAjIwXtYEUeH3ZR1/0imfyOh0iF0NhEqF5awG
0l4BWb/AQFnokqiIuRGQPMqpO6X3m00C2kB79nodaxorhc/WBs4JX3qz89zozsLq
ao8WHHadtQJwBveKurCNHLcr2+vLatPZ93Oo3s/ky+5eB+HrottOC818TIP51tXx
=8dKb
-----END PGP MESSAGE-----
fp: 22FB2CC03DC5292AB81CF67D0AF27B383170E634
unencrypted_suffix: _unencrypted

View File

@@ -17,62 +17,14 @@ in
environment.systemPackages = with pkgs; [ sbctl ];
boot = {
lanzaboote = let
windows-efi-shell-fs-alias = "HD0a65535a2";
in {
lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
package = pkgs.lib.mkForce (pkgs.writeShellApplication {
name = "lzbt";
runtimeInputs = [
inputs.lanzaboote.packages.x86_64-linux.tool
pkgs.coreutils
pkgs.sbctl
];
# https://forum.endeavouros.com/t/tutorial-add-a-systemd-boot-loader-menu-entry-for-a-windows-installation-using-a-separate-esp-partition/37431
text = /*bash*/ ''
# execute normal lanazboote functionality
lzbt "$@"
# Create windows.nsh file
ESP='${config.boot.loader.efi.efiSysMountPoint}'
echo "${windows-efi-shell-fs-alias}:EFI\Microsoft\Boot\Bootmgfw.efi" > "$ESP/windows.nsh"
# cp efi-shell boot file
# systemd-boot will automatically add an entry for it
cp -f '${pkgs.edk2-uefi-shell.efi}' "$ESP/shellx64.efi"
# should exist already
mkdir -p "$ESP/loader/entries"
# sign shell file
sbctl sign -s "$ESP/shellx64.efi"
# Create windows.conf boot entry
cat << EOF > "$ESP/loader/entries/windows.conf"
title Windows-Hack
efi /shellx64.efi
options -nointerrupt -noconsolein -noconsoleout windows.nsh
EOF
'';
});
pkiBundle = "/var/lib/sbctl";
};
loader.systemd-boot = {
enable = false; # let lanzaboote install systemd-boot
consoleMode = "max";
configurationLimit = 10;
# extraEntries = {
# "Windo7s-11.conf" = ''
# Windows eleven
# search --file --no-floppy --set=root /EFI/Microsoft/Boot/bootmgfw.efi
# chainloader (''${root})/EFI/Microsoft/Boot/bootmgfw.efi
# '';
# "Firmware.conf" = ''
# Firmware
# fwsetup
# '';
# "Shutdown.conf" = ''
# title Shutdown
# halt
# '';
# };
};
kernelPackages = pkgs.linuxPackages_zen;
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];

View File

@@ -25,13 +25,17 @@ import requests
def filter_events(events):
return [event for event in events if ("LR" in event.name) or ("TBD" in event.name)]
def fetch_and_save_ical_events(ical_url, save_path):
def fetch_and_save_ical_events(ical_urls, save_path):
"""
Fetch events from an iCal URL and save them as a single combined calendar.
"""
try:
# Create a new combined calendar
combined_calendar = Calendar()
for url in ical_urls:
# Fetch the iCal data
response = requests.get(ical_url)
response = requests.get(url)
response.raise_for_status()
# Parse the iCal data
@@ -40,8 +44,6 @@ def fetch_and_save_ical_events(ical_url, save_path):
# Adjust events
adjusted_events = filter_events(list(calendar.events))
# Create a new combined calendar
combined_calendar = Calendar()
for event in adjusted_events:
combined_calendar.events.add(event)
@@ -58,10 +60,13 @@ def fetch_and_save_ical_events(ical_url, save_path):
if __name__ == "__main__":
# Replace with your iCal URL and target file path
ICAL_URL = "https://zlypher.github.io/lol-events/cal/league-of-legends-nlc.ical"
ICAL_URLS = [
"https://zlypher.github.io/lol-events/cal/league-of-legends-nlc.ical",
"https://zlypher.github.io/lol-events/cal/league-of-legends-emea-masters.ical"
]
SAVE_PATH = "${config.services.nginx.virtualHosts."${hyper.domain}".root}/lr.ics"
fetch_and_save_ical_events(ICAL_URL, SAVE_PATH)
fetch_and_save_ical_events(ICAL_URLS, SAVE_PATH)
'');
in ''
${nx_cal_lr}/bin/nx_cal_lr

View File

@@ -31,7 +31,6 @@
networking.useDHCP = pkgs.lib.mkDefault true;
nixpkgs.hostPlatform = pkgs.lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = pkgs.lib.mkDefault config.hardware.enableRedistributableFirmware;
# from nixos-hardware

View File

@@ -9,7 +9,7 @@
acceptTerms = true;
defaults = {
email = "acme@${hyper.domain}";
webroot = "/var/nginx/webroot";
webroot = config.services.nginx.virtualHosts."${hyper.domain}".root;
group = "nginx";
};
certs = {
@@ -77,22 +77,24 @@
};
in {
"${hyper.domain}" = vh // {
root = "/var/nginx/webroot";
# root = "/var/nginx/webroot";
root = "/var/lib/hugo/nx2site/public";
default = true;
listen = dl;
locations = {
"/" = {
extraConfig = ''
index index.html;
if ($request_uri ~ ^/(.*)\.html(\?|$)) {
return 301 /$1;
}
try_files $uri $uri.html $uri/ /404.html =404;
'';
};
"~^(/ba)$" = { return = "301 /BA.pdf"; };
"/.well-known/matrix/client" = { return = "502"; };
"/.well-known/matrix/server" = { return = "502"; };
"/phone" = { return = "301 /en/cards/phone"; };
"/about-me" = { return = "301 /en/slides/about-me"; };
"/about-this-site" = { return = "301 /en/slides/about-this-site"; };
"/gpg" = { return = "301 /en/cards/gpg"; };
"/contact" = { return = "301 /en/cards/contact"; };
};
};
"matrix.${hyper.domain}" = {
@@ -121,7 +123,7 @@
};
"sync.${hyper.domain}" = vh // {
listen = dl;
locations = { "/" = { proxyPass = "http://127.0.0.1:11434"; }; };
locations = { "/" = { proxyPass = "http://127.0.0.1:8384"; }; };
};
# "git.${hyper.domain}" = vh // {
# listen = dl;
@@ -157,8 +159,9 @@
proxyWebsockets = true;
};
};
"wip.${hyper.domain}" = vh // {
"old.${hyper.domain}" = vh // {
listen = dl;
root = "/var/nginx/webroot";
};
"dev.${hyper.domain}" = vh // {
listen = dl;

View File

@@ -16,6 +16,7 @@
ports = [ secrets.ssh.port ];
settings = {
PasswordAuthentication = false;
PrintLastLog = false;
};
};
}