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

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2025-06-10 19:57:38 +02:00
16 changed files with 509 additions and 927 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,9 @@
{ pkgs, hyper, inputs, ... }: { pkgs, hyper, inputs, ... }:
{ {
imports = ([ imports = [
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.nixpkgs.nixosModules.readOnlyPkgs
./system-modules/adb.nix ./system-modules/adb.nix
./system-modules/auto-mount.nix ./system-modules/auto-mount.nix
./system-modules/boot.nix ./system-modules/boot.nix
@@ -41,7 +43,7 @@
./system-modules/users.nix ./system-modules/users.nix
./system-modules/virtualisation.nix ./system-modules/virtualisation.nix
./system-modules/ydotool.nix ./system-modules/ydotool.nix
]) ++ (if (hyper.host == "NxACE") then [ ] ++ (if (hyper.host == "NxACE") then [
./system-modules/nx2site.nix ./system-modules/nx2site.nix
./system-modules/hugo.nix ./system-modules/hugo.nix
./system-modules/postgres.nix ./system-modules/postgres.nix
@@ -136,9 +138,9 @@
systemd.extraConfig = "DefaultLimitNOFILE=2048"; systemd.extraConfig = "DefaultLimitNOFILE=2048";
boot.tmp.useTmpfs = false; boot.tmp.useTmpfs = false;
system.stateVersion = "25.05"; system.stateVersion = pkgs.version;
nixpkgs.config.allowUnfree = true; nixpkgs.pkgs = pkgs;
nix = { nix = {
settings = { settings = {

View File

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

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; }; 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 (builtins.fromJSON (builtins.readFile ./colors.json));
ccolor = builtins.mapAttrs alter-set { ccolor = builtins.mapAttrs alter-set {
black = "#111111"; # "#111111" "#001100"; black = "#040404"; # "#111111" "#001100";
white = "#dddddd"; # "#dddddd" "#66dd66"; white = "#dddddd"; # "#dddddd" "#66dd66";
blue = "#4444dd"; # "#3333dd" "#003300"; blue = "#4444dd"; # "#3333dd" "#003300";
cyan = "#44dddd"; # "#11dddd" "#00dd55"; cyan = "#44dddd"; # "#11dddd" "#00dd55";

670
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -12,22 +12,19 @@
nix-on-droid = { url = "github:nix-community/nix-on-droid/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; 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"; }; 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 = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; };
hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; 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 = { 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"; 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 { hyper-base = rec {
inherit system; inherit system;
@@ -35,11 +32,11 @@
domain = "nx2.site"; domain = "nx2.site";
home = "/home/${user}/"; home = "/home/${user}/";
}; };
pkgs = import nixpkgs { inherit system config; } // { pkgs = (import nixpkgs { inherit system config; }) // {
unstable = import nixpkgs-unstable { inherit system config; }; unstable = import nixpkgs-unstable { inherit system config; };
latest = import nixpkgs-latest { inherit system config; }; latest = import nixpkgs-latest { inherit system config; };
version = "25.05"; version = "25.05";
}; };
pkgs64 = let pkgs64 = let
system = "aarch64-linux"; system = "aarch64-linux";
@@ -49,21 +46,18 @@
version = "24.05"; version = "24.05";
}; };
nvidia-base = import ./flake-modules/nvidia.nix; nvidia-base = import ./flake-modules/nvidia.nix;
secrets = import ./git-crypt/secrets.nix; secrets = import ./git-crypt/secrets.nix;
rice = import ./flake-modules/rice.nix pkgs; rice = import ./flake-modules/rice.nix pkgs;
in { in {
nixosConfigurations = let nixosConfigurations = let
make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem { make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./configuration.nix ]; modules = [ ./configuration.nix ];
specialArgs = let 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; }; in { inherit pkgs inputs hyper rice secrets; };
}; };
make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem { make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./nixos-wsl.nix ]; modules = [ ./nixos-wsl.nix ];
specialArgs = let specialArgs = let
hyper = hyper-base // { inherit host; }; hyper = hyper-base // { inherit host; };

View File

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

View File

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

View File

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

View File

@@ -66,6 +66,7 @@ in {
hyprland-protocols hyprland-protocols
hyprlock hyprlock
hypridle hypridle
hyprshot
hyprpicker hyprpicker
hyprcursor hyprcursor
@@ -74,8 +75,8 @@ in {
# ]) ++ (with pkgs-unstable; [ # ]) ++ (with pkgs-unstable; [
]) ++ (with inputs; [ # ]) ++ (with inputs; [
hyprswitch.packages.x86_64-linux.default # hyprswitch.packages.x86_64-linux.default
]); ]);
@@ -90,7 +91,8 @@ in {
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo # inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# inputs.hyprfocus.packages.${pkgs.system}.hyprfocus # inputs.hyprfocus.packages.${pkgs.system}.hyprfocus
# inputs.hycov.packages.${pkgs.system}.hycov # inputs.hycov.packages.${pkgs.system}.hycov
# inputs.Hyprspace.packages.${pkgs.system}.Hyprspace pkgs.hyprlandPlugins.hyprspace
# inputs.hyprspace.packages.${pkgs.system}.Hyprspace
]; ];
settings = { settings = {
@@ -133,7 +135,7 @@ in {
"27, monitor:${d2}" "27, monitor:${d2}"
"28, monitor:${d2}" "28, monitor:${d2}"
"29, 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}" "31, monitor:${d3}, default:${let x = if hyper.host == "NxNORTH" then "true" else "false"; in x}"
"32, monitor:${d3}" "32, monitor:${d3}"
"33, monitor:${d3}" "33, monitor:${d3}"
@@ -208,7 +210,7 @@ in {
blur = { blur = {
enabled = true; enabled = true;
size = "3"; size = "10";
passes = "2"; passes = "2";
xray = false; xray = false;
vibrancy = 0.5; vibrancy = 0.5;
@@ -218,9 +220,10 @@ in {
animations = { animations = {
enabled = true; 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.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 [ animation = let direction = if hyper.host == "NxXPS" then "slide" else "slidevert"; in [
"windows, 1, ${animation-speed}, myBezier, slide" "windows, 1, ${animation-speed}, myBezier, slide"
"border, 1, ${animation-speed}, myBezier" "border, 1, ${animation-speed}, myBezier"
@@ -273,65 +276,51 @@ in {
windowrulev2 = [ windowrulev2 = [
"bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1" "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]" "bordersize 0, floating:0, onworkspace:w[tv1]"
"rounding 0, floating:0, onworkspace:w[tv1]" "rounding 0, floating:0, onworkspace:w[tv1]"
"bordersize 0, floating:0, onworkspace:f[1]" "bordersize 0, floating:0, onworkspace:f[1]"
"rounding 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}, class:^(Code)$"
# "opacity ${transparency}, sent" "opacity ${transparency}, class:^(code-oss)$"
"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:^(discord)$" "opacity ${transparency}, class:^(discord)$"
"opacity ${transparency}, class:^(vesktop)$" "opacity ${transparency}, class:^(element)$"
"opacity ${transparency}, class:^(Element)$" "opacity ${transparency}, class:^(Element)$"
"opacity ${transparency}, class:^(lutris)$" "opacity ${transparency}, class:^(lutris)$"
"opacity ${transparency}, class:^(element)$" "opacity ${transparency}, class:^(neovide)$"
# "opacity ${transparency}, ^([sS]potify)$" "opacity ${transparency}, class:^(obsidian)$"
# "opacity ${transparency}, virt-manager" "opacity ${transparency}, class:^(vesktop)$"
# "opacity ${transparency}, thunar" "opacity ${transparency}, class:^(VSCodium)$"
"opacity ${transparency}, title:^(wlogout)$" "opacity ${transparency}, title:^(wlogout)$"
"opaque, title:^(GNU Image Manipulation Program)$" "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)$" "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)$" "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)$" "workspace 100, class:^(gamescope)$"
]; ];
@@ -354,7 +343,6 @@ in {
########################################################################### ###########################################################################
## ROW 0: ## ROW 0:
bind = [ bind = [
"SUPER SHIFT, Escape, exit, "
"SUPER, F1, workspace, 100" "SUPER, F1, workspace, 100"
"SUPER SHIFT, F1, movetoworkspace, 100" "SUPER SHIFT, F1, movetoworkspace, 100"
# "SUPER, F2," # "SUPER, F2,"
@@ -405,8 +393,8 @@ in {
########################################################################### ###########################################################################
## ROW 2: ## ROW 2:
#bind = SUPER, TAB, hycov:toggleoverview # "SUPER, TAB, hycov:toggleoverview"
# "SUPER, TAB, overview:toggle" "SUPER, TAB, overview:toggle"
# "SUPER, TAB, hyprexpo:expo, toggle" # "SUPER, TAB, hyprexpo:expo, toggle"
"ALT, TAB, focuscurrentorlast" "ALT, TAB, focuscurrentorlast"
# "SUPER, TAB, exec, hyprswitch --daemon" # "SUPER, TAB, exec, hyprswitch --daemon"
@@ -437,7 +425,8 @@ in {
"SUPER, A, execr, waybar_mode set ' 󰹑 '" "SUPER, A, execr, waybar_mode set ' 󰹑 '"
"SUPER, A, submap, scrL" "SUPER, A, submap, scrL"
"SUPER, S, exec, spotify" "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, F, fullscreen"
# "SUPER, G," # "SUPER, G,"
"SUPER, H, movefocus, l" "SUPER, H, movefocus, l"
@@ -491,7 +480,9 @@ in {
########################################################################### ###########################################################################
## MEGA KEYS: ## MEGA KEYS:
'' , Print, exec, grim -g "$(slurp)"'' ", Print, execr, waybar_mode set '󰄀 '"
", Print, submap, screenshot"
# "SUPER, Next, resizeactive, 5% 5%" # binde # "SUPER, Next, resizeactive, 5% 5%" # binde
# "SUPER, Prior, resizeactive, -5% -5%" # binde # "SUPER, Prior, resizeactive, -5% -5%" # binde
@@ -528,6 +519,39 @@ in {
"SUPER, Next, resizeactive, 10% 10%" "SUPER, Next, resizeactive, 10% 10%"
"SUPER, Prior, 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 bind = , Escape, submap, reset
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

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

View File

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

View File

@@ -17,62 +17,14 @@ in
environment.systemPackages = with pkgs; [ sbctl ]; environment.systemPackages = with pkgs; [ sbctl ];
boot = { boot = {
lanzaboote = let lanzaboote = {
windows-efi-shell-fs-alias = "HD0a65535a2";
in {
enable = true; enable = true;
pkiBundle = "/etc/secureboot"; pkiBundle = "/var/lib/sbctl";
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
'';
});
}; };
loader.systemd-boot = { loader.systemd-boot = {
enable = false; # let lanzaboote install systemd-boot enable = false; # let lanzaboote install systemd-boot
consoleMode = "max"; consoleMode = "max";
configurationLimit = 10; 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; kernelPackages = pkgs.linuxPackages_zen;
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];

View File

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