Compare commits

...

12 Commits

Author SHA1 Message Date
Lennart J. Kurzweg (Nx2)
c61e6c9980 whoops, i need git-crypt 2024-09-04 17:20:09 +02:00
Lennart J. Kurzweg (Nx2)
d626a5bd7d Merge branch 'master' of ssh://git.nx2.site:20022/nx2/dotfiles 2024-09-04 17:17:16 +02:00
Lennart J. Kurzweg (Nx2)
5eda39414a flake.lock update 2024-09-04 17:12:59 +02:00
Lennart J. Kurzweg (Nx2)
cbe9371e66 better hotkeys 2024-09-04 17:12:41 +02:00
Lennart J. Kurzweg (Nx2)
a10b22b9e3 better fish aliases 2024-09-04 17:12:20 +02:00
Lennart J. Kurzweg (Nx2)
fd3ca3a1d3 fctix autostart + exec-once cleanup 2024-09-04 17:11:25 +02:00
Lennart J. Kurzweg (Nx2)
f2589a350d shared owned by nx2 2024-09-04 17:10:46 +02:00
Lennart J. Kurzweg (Nx2)
f24b4ae320 zen-browser through flake 2024-09-04 17:10:15 +02:00
Lennart J. Kurzweg (Nx2)
689ef45935 ooo 2024-09-04 17:08:09 +02:00
Lennart J. Kurzweg (Nx2)
2492c5bd80 vesktop signin fix 2024-09-04 17:00:36 +02:00
Lennart J. Kurzweg (Nx2)
c9c6423bb3 fcitx5 + katana 2024-09-04 17:00:12 +02:00
Lennart J. Kurzweg (Nx2)
d7cc5f77d7 colors from wallpapers 2024-09-04 16:59:05 +02:00
15 changed files with 500 additions and 498 deletions

View File

@@ -3,30 +3,31 @@
imports = [ imports = [
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
./system-modules/auto-mount.nix ./system-modules/auto-mount.nix
./system-modules/hardware-configuration.nix
./system-modules/fuse.nix
./system-modules/nvidia.nix
./system-modules/users.nix
./system-modules/sound.nix
./system-modules/fonts.nix
./system-modules/boot.nix ./system-modules/boot.nix
./system-modules/gc.nix
./system-modules/dm.nix ./system-modules/dm.nix
./system-modules/networking.nix
./system-modules/virtualisation.nix
./system-modules/sshd.nix
./system-modules/gpg.nix
./system-modules/sops.nix
./system-modules/syncthing.nix
./system-modules/hsmw.nix
./system-modules/docker.nix ./system-modules/docker.nix
./system-modules/fcitx5.nix
./system-modules/fonts.nix
./system-modules/fuse.nix
./system-modules/gc.nix
./system-modules/gpg.nix
./system-modules/hardware-configuration.nix
./system-modules/health_reminder.nix ./system-modules/health_reminder.nix
./system-modules/ydotool.nix ./system-modules/hsmw.nix
./system-modules/ollama.nix ./system-modules/kanata.nix
./system-modules/nx2site.nix
./system-modules/kodi.nix ./system-modules/kodi.nix
./system-modules/networking.nix
./system-modules/nvidia.nix
./system-modules/nx2site.nix
./system-modules/ollama.nix
./system-modules/qmk.nix ./system-modules/qmk.nix
]; ./system-modules/sops.nix
./system-modules/sound.nix
./system-modules/sshd.nix
./system-modules/syncthing.nix
./system-modules/users.nix
./system-modules/virtualisation.nix
./system-modules/ydotool.nix ];
@@ -65,8 +66,8 @@
# $ nix search wget # $ nix search wget
environment.systemPackages = with pkgs; ([ environment.systemPackages = with pkgs; ([
git git
lazygit # home-manager module is bugged
git-crypt git-crypt
lazygit # home-manager module is bugged
wget wget
curl curl
zip zip
@@ -74,7 +75,6 @@
p7zip p7zip
unar unar
nano nano
micro
htop htop
direnv direnv
openssl openssl

13
flake-modules/colors.json Normal file
View File

@@ -0,0 +1,13 @@
{
"base": {
"foreground": "#eedce2",
"background": "#221016"
},
"to_alter": {
"accent": "#ac5271",
"secondary": "#f20c5b",
"tertiary": "#d5a287",
"special": "#51ac8d",
"weird": "#0cf2a3"
}
}

View File

@@ -12,30 +12,34 @@ pkgs: rec {
bright = (0.5); bright = (0.5);
alter-set = let f = lib.alter-luminace-hex; in color-name: color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; }; alter-set = let f = lib.alter-luminace-hex; in color-name: 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; }; 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 { ccolor = builtins.mapAttrs alter-set {
black = "#000022"; # "#111111" "#001100"; black = "#111111"; # "#111111" "#001100";
white = "#ddddff"; # "#dddddd" "#66dd66"; white = "#dddddd"; # "#dddddd" "#66dd66";
blue = "#4422ff"; # "#3333dd" "#003300"; blue = "#4444dd"; # "#3333dd" "#003300";
cyan = "#11dddd"; # "#11dddd" "#00dd55"; cyan = "#44dddd"; # "#11dddd" "#00dd55";
green = "#11dd44"; # "#11dd11" "#11dd11"; green = "#44dd44"; # "#11dd11" "#11dd11";
magenta = "#6622dd"; # "#dd11dd" "#005500"; magenta = "#dd44dd"; # "#dd11dd" "#005500";
red = "#dd1166"; # "#dd1111" "#00aa00"; red = "#dd4444"; # "#dd1111" "#00aa00";
yellow = "#dd6611"; # "#dddd11" "#ffff00"; yellow = "#dd4444"; # "#dddd11" "#ffff00";
}; };
xcolor = with ccolor; rec { facolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json)).to_alter;
background = black.dark; fbcolor = (builtins.fromJSON (builtins.readFile ./colors.json)).base;
foreground = white.base; fcolor = facolor // fbcolor;
border = red.base; xcolor = with ccolor; with fcolor; rec {
border2 = blue.base; background = "#000000";
accent = blue; # foreground = "#dddddd";
secondary = cyan; # accent = blue;
tertiary = magenta; # secondary = cyan;
special = yellow; # tertiary = magenta;
weird = green; # special = yellow;
# weird = green;
positive = alter "#00dd00"; positive = alter "#00dd00";
negative = alter "#dd0000"; negative = alter "#dd0000";
border = accent.base;
border2 = secondary.base;
}; };
in ccolor // xcolor; in ccolor // fcolor // xcolor;
font = { font = {
code = { code = {
name = "JetBrainsMono-NF"; name = "JetBrainsMono-NF";

37
flake.lock generated
View File

@@ -576,6 +576,22 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_5": {
"locked": {
"lastModified": 1724479785,
"narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks-nix": { "pre-commit-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
@@ -618,7 +634,8 @@
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"nixpkgs-latest": "nixpkgs-latest", "nixpkgs-latest": "nixpkgs-latest",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"sops-nix": "sops-nix" "sops-nix": "sops-nix",
"zen-browser": "zen-browser"
} }
}, },
"rust-overlay": { "rust-overlay": {
@@ -726,6 +743,24 @@
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"type": "github" "type": "github"
} }
},
"zen-browser": {
"inputs": {
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1724745035,
"narHash": "sha256-WhTJaCw0XDR9gAQ6uEIMkT7bKsHXBafj1GJnRsWXHpk=",
"owner": "MarceColl",
"repo": "zen-browser-flake",
"rev": "723039271547eb4c648e5bd774e2f7bc73564b16",
"type": "github"
},
"original": {
"owner": "MarceColl",
"repo": "zen-browser-flake",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -15,6 +15,7 @@
hyprswitch = { url = "github:h3rmt/hyprswitch/release"; }; hyprswitch = { url = "github:h3rmt/hyprswitch/release"; };
# firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; # firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; };
zen-browser.url = "github:MarceColl/zen-browser-flake";
}; };
outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-latest, home-manager, ... }@inputs: let outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-latest, home-manager, ... }@inputs: let

View File

@@ -6,8 +6,7 @@ lib.mkIf (host != "NxACE")
vesktop vesktop
]; ];
file.".config/vesktop/settings/settings.json".text = '' file.".config/vesktop/settings/settings.json".text = /* json */ ''{
{
"notifyAboutUpdates": true, "notifyAboutUpdates": true,
"autoUpdate": false, "autoUpdate": false,
"autoUpdateNotification": true, "autoUpdateNotification": true,
@@ -24,455 +23,160 @@ lib.mkIf (host != "NxACE")
"disableMinSize": false, "disableMinSize": false,
"winNativeTitleBar": false, "winNativeTitleBar": false,
"plugins": { "plugins": {
"BadgeAPI": { "BadgeAPI": { "enabled": true },
"enabled": true "CommandsAPI": { "enabled": true },
}, "ContextMenuAPI": { "enabled": true },
"CommandsAPI": { "MemberListDecoratorsAPI": { "enabled": false },
"enabled": true "MessageAccessoriesAPI": { "enabled": false },
}, "MessageDecorationsAPI": { "enabled": false },
"ContextMenuAPI": { "MessageEventsAPI": { "enabled": false },
"enabled": true "MessagePopoverAPI": { "enabled": false },
}, "NoticesAPI": { "enabled": true },
"MemberListDecoratorsAPI": { "ServerListAPI": { "enabled": false },
"enabled": false "NoTrack": { "enabled": true },
},
"MessageAccessoriesAPI": {
"enabled": false
},
"MessageDecorationsAPI": {
"enabled": false
},
"MessageEventsAPI": {
"enabled": false
},
"MessagePopoverAPI": {
"enabled": false
},
"NoticesAPI": {
"enabled": true
},
"ServerListAPI": {
"enabled": false
},
"NoTrack": {
"enabled": true
},
"Settings": { "Settings": {
"enabled": true, "enabled": true,
"settingsLocation": "aboveActivity" "settingsLocation": "aboveActivity"
}, },
"SupportHelper": { "SupportHelper": { "enabled": true },
"enabled": true "ChatInputButtonAPI": { "enabled": false },
}, "AlwaysAnimate": { "enabled": true },
"ChatInputButtonAPI": { "AlwaysTrust": { "enabled": true },
"enabled": false "AnonymiseFileNames": { "enabled": false },
}, "WebRichPresence (arRPC)": { "enabled": false },
"AlwaysAnimate": { "BANger": { "enabled": false },
"enabled": true "BetterFolders": { "enabled": false },
}, "BetterGifAltText": { "enabled": false },
"AlwaysTrust": { "BetterGifPicker": { "enabled": false },
"enabled": true "BetterNotesBox": { "enabled": false },
}, "BetterRoleDot": { "enabled": false },
"AnonymiseFileNames": { "BetterUploadButton": { "enabled": false },
"enabled": false "BiggerStreamPreview": { "enabled": false },
}, "BlurNSFW": { "enabled": false },
"WebRichPresence (arRPC)": { "CallTimer": { "enabled": false },
"enabled": false "ClearURLs": { "enabled": false },
}, "ClientTheme": { "enabled": false },
"BANger": { "ColorSighted": { "enabled": false },
"enabled": false "ConsoleShortcuts": { "enabled": false },
}, "CopyUserURLs": { "enabled": false },
"BetterFolders": { "CrashHandler": { "enabled": true },
"enabled": false "CustomRPC": { "enabled": false },
}, "Dearrow": { "enabled": false },
"BetterGifAltText": { "Decor": { "enabled": false },
"enabled": false "DisableCallIdle": { "enabled": false },
}, "EmoteCloner": { "enabled": false },
"BetterGifPicker": { "Experiments": { "enabled": false },
"enabled": false "F8Break": { "enabled": false },
}, "FakeNitro": { "enabled": false },
"BetterNotesBox": { "FakeProfileThemes": { "enabled": true },
"enabled": false "FavoriteEmojiFirst": { "enabled": false },
}, "FavoriteGifSearch": { "enabled": false },
"BetterRoleDot": { "FixCodeblockGap": { "enabled": false },
"enabled": false "FixSpotifyEmbeds": { "enabled": false },
}, "FixYoutubeEmbeds": { "enabled": false },
"BetterUploadButton": { "ForceOwnerCrown": { "enabled": false },
"enabled": false "FriendInvites": { "enabled": false },
}, "GameActivityToggle": { "enabled": false },
"BiggerStreamPreview": { "GifPaste": { "enabled": false },
"enabled": false "GreetStickerPicker": { "enabled": false },
}, "HideAttachments": { "enabled": false },
"BlurNSFW": { "iLoveSpam": { "enabled": false },
"enabled": false "IgnoreActivities": { "enabled": false },
}, "ImageZoom": { "enabled": false },
"CallTimer": { "InvisibleChat": { "enabled": false },
"enabled": false "KeepCurrentChannel": { "enabled": false },
}, "LastFMRichPresence": { "enabled": false },
"ClearURLs": { "LoadingQuotes": { "enabled": false },
"enabled": false "MemberCount": { "enabled": false },
}, "MessageClickActions": { "enabled": false },
"ClientTheme": { "MessageLinkEmbeds": { "enabled": false },
"enabled": false "MessageLogger": { "enabled": false },
}, "MessageTags": { "enabled": false },
"ColorSighted": { "MoreCommands": { "enabled": false },
"enabled": false "MoreKaomoji": { "enabled": false },
}, "MoreUserTags": { "enabled": false },
"ConsoleShortcuts": { "Moyai": { "enabled": false },
"enabled": false "MutualGroupDMs": { "enabled": false },
}, "NewGuildSettings": { "enabled": false },
"CopyUserURLs": { "NoBlockedMessages": { "enabled": false },
"enabled": false "NoDevtoolsWarning": { "enabled": false },
}, "NoF1": { "enabled": false },
"CrashHandler": { "NoMosaic": { "enabled": false },
"enabled": true "NoPendingCount": { "enabled": false },
}, "NoProfileThemes": { "enabled": false },
"CustomRPC": { "NoReplyMention": { "enabled": false },
"enabled": false "NoScreensharePreview": { "enabled": false },
}, "NoTypingAnimation": { "enabled": false },
"Dearrow": { "NoUnblockToJump": { "enabled": false },
"enabled": false "NormalizeMessageLinks": { "enabled": false },
}, "NotificationVolume": { "enabled": false },
"Decor": { "NSFWGateBypass": { "enabled": false },
"enabled": false "OnePingPerDM": { "enabled": false },
}, "oneko": { "enabled": false },
"DisableCallIdle": { "OpenInApp": { "enabled": false },
"enabled": false "Party mode 🎉": { "enabled": false },
}, "PermissionFreeWill": { "enabled": false },
"EmoteCloner": { "PermissionsViewer": { "enabled": false },
"enabled": false "petpet": { "enabled": false },
}, "PictureInPicture": { "enabled": false },
"Experiments": { "PinDMs": { "enabled": false },
"enabled": false "PlainFolderIcon": { "enabled": false },
}, "PlatformIndicators": { "enabled": false },
"F8Break": { "PreviewMessage": { "enabled": false },
"enabled": false "PronounDB": { "enabled": false },
}, "QuickMention": { "enabled": false },
"FakeNitro": { "QuickReply": { "enabled": false },
"enabled": false "ReactErrorDecoder": { "enabled": false },
}, "ReadAllNotificationsButton": { "enabled": false },
"FakeProfileThemes": { "RelationshipNotifier": { "enabled": false },
"enabled": true "RevealAllSpoilers": { "enabled": false },
}, "ReverseImageSearch": { "enabled": false },
"FavoriteEmojiFirst": { "ReviewDB": { "enabled": false },
"enabled": false "RoleColorEverywhere": { "enabled": true },
}, "SearchReply": { "enabled": false },
"FavoriteGifSearch": { "SecretRingToneEnabler": { "enabled": false },
"enabled": false "SendTimestamps": { "enabled": false },
}, "ServerListIndicators": { "enabled": false },
"FixCodeblockGap": { "ServerProfile": { "enabled": false },
"enabled": false "ShikiCodeblocks": { "enabled": false },
}, "ShowAllMessageButtons": { "enabled": false },
"FixSpotifyEmbeds": { "ShowConnections": { "enabled": false },
"enabled": false "ShowHiddenChannels": { "enabled": false },
}, "ShowMeYourName": { "enabled": false },
"FixYoutubeEmbeds": { "ShowTimeouts": { "enabled": false },
"enabled": false "SilentMessageToggle": { "enabled": false },
}, "SilentTyping": { "enabled": false },
"ForceOwnerCrown": { "SortFriendRequests": { "enabled": false },
"enabled": false "SpotifyControls": { "enabled": false },
}, "SpotifyCrack": { "enabled": false },
"FriendInvites": { "SpotifyShareCommands": { "enabled": false },
"enabled": false "StartupTimings": { "enabled": false },
}, "SuperReactionTweaks": { "enabled": false },
"GameActivityToggle": { "TextReplace": { "enabled": false },
"enabled": false "ThemeAttributes": { "enabled": false },
}, "TimeBarAllActivities": { "enabled": false },
"GifPaste": { "Translate": { "enabled": false },
"enabled": false "TypingIndicator": { "enabled": false },
}, "TypingTweaks": { "enabled": false },
"GreetStickerPicker": { "Unindent": { "enabled": false },
"enabled": false "UnsuppressEmbeds": { "enabled": false },
}, "UrbanDictionary": { "enabled": false },
"HideAttachments": { "UserVoiceShow": { "enabled": false },
"enabled": false "USRBG": { "enabled": false },
}, "ValidUser": { "enabled": false },
"iLoveSpam": { "VoiceChatDoubleClick": { "enabled": false },
"enabled": false "VcNarrator": { "enabled": false },
}, "VencordToolbox": { "enabled": false },
"IgnoreActivities": { "ViewIcons": { "enabled": false },
"enabled": false "ViewRaw": { "enabled": false },
}, "VoiceMessages": { "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": { "WebContextMenus": {
"enabled": true, "enabled": true,
"addBack": true "addBack": true },
}, "WebKeybinds": { "enabled": true },
"WebKeybinds": { "WhoReacted": { "enabled": false },
"enabled": true "Wikisearch": { "enabled": false },
}, "XSOverlay": { "enabled": false }
"WhoReacted": {
"enabled": false
},
"Wikisearch": {
"enabled": false
},
"XSOverlay": {
"enabled": false
}
}, },
"notifications": { "notifications": {
"timeout": 5000, "timeout": 5000,
@@ -484,7 +188,7 @@ lib.mkIf (host != "NxACE")
"authenticated": false, "authenticated": false,
"url": "https://api.vencord.dev/", "url": "https://api.vencord.dev/",
"settingsSync": false, "settingsSync": false,
"settingsSyncVersion": 1710459223618 "settingsSyncVersion": 1725386648445
} }
} }
''; '';

View File

@@ -51,10 +51,12 @@ lib.mkIf (user != "tv")
nf = "neofetch"; nf = "neofetch";
nxf = "nxfetch"; nxf = "nxfetch";
nn = "nano"; nn = "nano";
m = "micro"; hxx = "hx .";
p = "python"; p = "python";
ipy = "ipython"; ipy = "ipython";
c = "codium"; c = "codium";
cc = "codium .";
code = "codium";
g = "git"; g = "git";
lzg = "lazygit"; lzg = "lazygit";
# gst = "git status"; # gst = "git status";
@@ -81,7 +83,6 @@ lib.mkIf (user != "tv")
dcmp = "docker compose"; dcmp = "docker compose";
nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}''; nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
code = "codium";
# ya = "yazi"; # function # ya = "yazi"; # function
# nxfiglet = "figlet"; # nxfiglet = "figlet";
}; };

View File

@@ -60,7 +60,14 @@
}; };
}; };
keys.normal = { keys.normal = {
C-g = [":new" ":insert-output lazygit" ":buffer-close!" ":redraw"]; "C-g" = [":new" ":insert-output lazygit" ":buffer-close!" ":redraw"];
"A-`" = [ "no_op" ];
"`" = [ "no_op" ];
};
keys.normal."ö" = {
"s" = [ "switch_case" ];
"u" = [ "switch_to_uppercase" ];
"l" = [ "switch_to_lowercase" ];
}; };
}; };
languages = { languages = {
@@ -115,7 +122,7 @@
command = lib.getExe pkgs.vale-ls; command = lib.getExe pkgs.vale-ls;
}; };
"language-tool" = { "language-tool" = {
command = lib.getExe pkgs.ltex-ls; command = "${pkgs.ltex-ls}/bin/ltex-ls";
}; };
"ruff" = { "ruff" = {
command = "ruff-lsp"; command = "ruff-lsp";

View File

@@ -243,16 +243,15 @@ lib.mkIf (user != "tv")
}; };
exec-once = [ exec-once = [
"hyprpm reload -n " "waybar"
"waybar "
"hyprpaper -n "
"swww-daemon" "swww-daemon"
"hyprland-autoname-workspaces" "hyprland-autoname-workspaces"
"/usr/lib/polkit-kde-authentication-agent-1 " "/usr/lib/polkit-kde-authentication-agent-1 "
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"syncthing -no-browser" "syncthing -no-browser"
"mako" "mako"
"ibus engine xkb:de::deu" "fcitx5"
# "ibus engine xkb:de::deu"
"libinput-gestures" "libinput-gestures"
# "hyprswitch --daemon" # "hyprswitch --daemon"
]; ];
@@ -334,7 +333,7 @@ lib.mkIf (user != "tv")
"SUPER SHIFT, F5, exec, nx_gcal_event reauthenticate" "SUPER SHIFT, F5, exec, nx_gcal_event reauthenticate"
# "SUPER, F6," # "SUPER, F6,"
''SUPER, F8, exec, find ~/Pictures/wallpapers/* -type f -not -path "~/Pictures/wallpapers/.git/*" | sort -R | head -n 1 | xargs swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120'' ''SUPER, F8, exec, find ~/Pictures/wallpapers/* -type f -not -path "~/Pictures/wallpapers/.git/*" | sort -R | head -n 1 | xargs swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120''
# "SUPER, F9, hyprload,reload" "SUPER, F9, exec, change_colors_json $(swww query | sed -n 2p | sed -e 's-.*image: --g') && kitty -e sh -c 'nh home switch'"
# "SUPER, F10, hyprload,update" # "SUPER, F10, hyprload,update"
"SUPER, F11, exec, waybar" "SUPER, F11, exec, waybar"
"SUPER SHIFT, F11, exec, pkill waybar " "SUPER SHIFT, F11, exec, pkill waybar "

37
home-modules/ollama.nix Normal file
View File

@@ -0,0 +1,37 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
(writers.writePython3Bin "ooo" {
libraries = [ pkgs.python3Packages.ollama ];
flakeIgnore = [ "E501" "E305" "E701" "E704" "E302" "E114" "F841" "E121" ];
} /* python */ ''
import sys
import ollama
if len(sys.argv) < 2:
print("Usage: ./ooo.py <system_message>")
sys.exit(1)
system_message = sys.argv[1]
input_text = sys.stdin.read()
try:
response = ollama.chat(model='llama3.1:8b', messages=[
{
'role': 'system',
'content': "You are a text transformer. Follow the folling instruction:\n\n" + system_message + "\n\nOnly output the transformed text. Do not add any addidional conversation around the output. Just the result.",
},
{
'role': 'user',
'content': input_text,
},
])
print(response['message']['content'])
sys.exit(0)
except Exception as e:
print(f"An error occurred: {e}", file=sys.stderr)
sys.exit(1)
'')
];
}

View File

@@ -0,0 +1,152 @@
{ pkgs-unstable, ... }:
{
home.packages = with pkgs-unstable; [
(writers.writePython3Bin "change_colors_json" {
libraries = with python3Packages; [ numpy pillow scikit-learn ];
flakeIgnore = [ "E302" "E305" "E226" "E501" ];
} /*python */ ''
from colorsys import hls_to_rgb, rgb_to_hls
import json
import sys
from typing import Literal, cast
from numpy.typing import NDArray
from sklearn.cluster import KMeans
import numpy as np
from PIL import Image
def fc(c: int) -> str:
assert c < 256
s = str(hex(c))[2:]
if c < 16:
return "0" + s
elif len(s) == 1:
return s + s
else:
return s
class Color(object):
def __init__(self, rgb: tuple[int, ...], frequency: float):
assert len(rgb) == 3, "RGB values must be a tuple of length 3"
self.rgb = cast(tuple[int, int, int], rgb)
self.freq: float = frequency
def __lt__(self, other: "Color") -> bool:
return self.freq < other.freq
@property
def hls(self) -> tuple[float, float, float]:
return rgb_to_hls(r=self.rgb[0] / 255, g=self.rgb[1] / 255, b=self.rgb[2] / 255)
@property
def luminance(self) -> float:
return np.dot(np.array([0.2126, 0.7152, 0.0722]), self.rgb)
def k_means_extraction(arr: NDArray[float], height: int, width: int, palette_size: int) -> list[Color]:
arr = np.reshape(arr, (width * height, -1))
model = KMeans(n_clusters=palette_size, n_init="auto", init="k-means++", random_state=2024)
labels = model.fit_predict(arr)
palette = np.array(model.cluster_centers_, dtype=int)
color_count = np.bincount(labels)
color_frequency = color_count / float(np.sum(color_count))
colors = []
for color, freq in zip(palette, color_frequency):
colors.append(Color(color, freq))
return colors
class Palette:
def __init__(self, colors: list[Color]):
self.colors = colors
self.frequencies = [c.freq for c in colors]
def __getitem__(self, item: int) -> Color:
return self.colors[item]
def __len__(self) -> int:
return self.number_of_colors
def ensure_color(c: Color, alter_sat: bool) -> list[int]:
hue, lum, sat = c.hls
if alter_sat:
new_sat = min(max(sat, 0.6) + 0.3, 1)
else:
new_sat = sat
new_lum = max(lum, 0.5)
r, g, b = hls_to_rgb(h=hue, l=new_lum, s=new_sat)
return [int(r*255), int(g*255), int(b*255)]
def list_to_hex(ilist: list[int]) -> str:
return f"#{fc(ilist[0])}{fc(ilist[1])}{fc(ilist[2])}"
def alter_hue(ilist: list[int], hue: int) -> list[int]:
assert hue >= 0 and hue <= 360
r, g, b = ilist
h, l, s = rgb_to_hls((r/255), (g/255), (b/255))
new_hue = (((h*360) + hue) % 360) / 360
r, g, b = hls_to_rgb(h=new_hue, l=l, s=s)
return [int(r*255), int(g*255), int(b*255)]
def alter_l(ilist: list[int], l_in_1_0: float) -> list[int]:
assert l_in_1_0 >= 0 and l_in_1_0 <= 1
r, g, b = ilist
h, _, s = rgb_to_hls((r/255), (g/255), (b/255))
r, g, b = hls_to_rgb(h=h, l=l_in_1_0, s=s)
return [int(r*255), int(g*255), int(b*255)]
def extract_colors(
image: str,
palette_size: int = 5,
resize: bool = True,
sort_mode: Literal["luminance", "frequency"] | None = None,
) -> Palette:
img = Image.open(image).convert("RGB")
# open the image
img = img.resize((256, 256))
width, height = img.size
arr = np.asarray(img)
colors = k_means_extraction(arr, height, width, palette_size)
if sort_mode == "luminance":
colors.sort(key=lambda c: c.luminance, reverse=False)
else:
colors.sort(reverse=True)
return Palette(colors)
if __name__ == "__main__":
try:
img = sys.argv[1]
except IndexError:
img = "/home/nx2/Pictures/wallpapers/absolute-cinema-acid.png"
palette = extract_colors(image=img, palette_size=3)
accent = ensure_color(c=palette[0], alter_sat=False)
secondary = ensure_color(c=palette[1], alter_sat=True)
tertiary = ensure_color(c=palette[2], alter_sat=False)
weird = alter_hue(ilist=secondary, hue=180)
special = alter_hue(ilist=accent, hue=180)
foreground = alter_l(accent, 0.9)
background = alter_l(accent, 0.1)
d = {
"base": {
"foreground": list_to_hex(foreground),
"background": list_to_hex(background)
},
"to_alter": {
"accent": list_to_hex(accent),
"secondary": list_to_hex(secondary),
"tertiary": list_to_hex(tertiary),
"special": list_to_hex(special),
"weird": list_to_hex(weird)
}
}
with open("/home/nx2/nix-dots/flake-modules/colors.json", "w") as f:
f.write(json.dumps(d, indent=4))
'')
];
}

View File

@@ -1,4 +1,4 @@
{ pkgs, pkgs-unstable, lib, host, user, ... }: { pkgs, pkgs-unstable, lib, host, user, inputs, ... }:
{ {
imports = [ imports = [
./home-modules/auto-mount.nix ./home-modules/auto-mount.nix
@@ -29,6 +29,7 @@
./home-modules/nx-gcal-event.nix ./home-modules/nx-gcal-event.nix
./home-modules/obs.nix ./home-modules/obs.nix
./home-modules/office.nix ./home-modules/office.nix
./home-modules/ollama.nix
./home-modules/pandoc.nix ./home-modules/pandoc.nix
./home-modules/pnx.nix ./home-modules/pnx.nix
./home-modules/programming/c.nix ./home-modules/programming/c.nix
@@ -44,6 +45,7 @@
./home-modules/vale.nix ./home-modules/vale.nix
./home-modules/virt-manager.nix ./home-modules/virt-manager.nix
./home-modules/vscode.nix ./home-modules/vscode.nix
./home-modules/wallpaper-to-colors.nix
./home-modules/waybar.nix ./home-modules/waybar.nix
./home-modules/wlogout.nix ./home-modules/wlogout.nix
./home-modules/yazi.nix ./home-modules/yazi.nix
@@ -83,6 +85,9 @@
wl-clipboard wl-clipboard
xclip xclip
xournal xournal
inputs.zen-browser.packages."${system}".default
] ++ (with pkgs-unstable; [ ] ++ (with pkgs-unstable; [
obsidian obsidian
firefox firefox

28
system-modules/fcitx5.nix Normal file
View File

@@ -0,0 +1,28 @@
{ pkgs-unstable, ... }:
{
i18n.inputMethod = {
enabled = "fcitx5";
# type = "fcitx5"; # for later than 24.05
# enable = true;
fcitx5 = {
waylandFrontend = true;
addons = with pkgs-unstable; [
rime-data
fcitx5-rime
fcitx5-gtk
fcitx5-chinese-addons
fcitx5-catppuccin
];
};
};
services.xserver.desktopManager.runXdgAutostartIfNone = true;
environment.variables = {
GLFW_IM_MODULE = "fcitx";
GTK_IM_MODULE = "fcitx";
INPUT_METHOD = "fcitx";
XMODIFIERS = "@im=fcitx";
IMSETTINGS_MODULE = "fcitx";
QT_IM_MODULE = "fcitx";
SDL_IM_MODULE = "fcitx";
};
}

View File

@@ -16,7 +16,7 @@
fileSystems = if host != "NxACE" then { fileSystems = if host != "NxACE" then {
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; }; "/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; }; "/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
"/home/${user}/shared" = { device = "/dev/disk/by-label/shared"; fsType = "ntfs"; }; "/home/${user}/shared" = { device = "/dev/disk/by-label/shared"; fsType = "ntfs"; options = [ "uid:1000" "gid:100" ]; };
} else { } else {
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; }; "/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; }; "/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };

16
system-modules/kanata.nix Normal file
View File

@@ -0,0 +1,16 @@
{ pkgs, ... }:
{
services.kanata = {
enable = true;
package = pkgs.kanata;
keyboards.default.config = ''
(defsrc
caps
)
(deflayer default
esc
)
'';
};
}