Compare commits
12 Commits
20f8ea51c6
...
c61e6c9980
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c61e6c9980 | ||
|
|
d626a5bd7d | ||
|
|
5eda39414a | ||
|
|
cbe9371e66 | ||
|
|
a10b22b9e3 | ||
|
|
fd3ca3a1d3 | ||
|
|
f2589a350d | ||
|
|
f24b4ae320 | ||
|
|
689ef45935 | ||
|
|
2492c5bd80 | ||
|
|
c9c6423bb3 | ||
|
|
d7cc5f77d7 |
@@ -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
13
flake-modules/colors.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"base": {
|
||||||
|
"foreground": "#eedce2",
|
||||||
|
"background": "#221016"
|
||||||
|
},
|
||||||
|
"to_alter": {
|
||||||
|
"accent": "#ac5271",
|
||||||
|
"secondary": "#f20c5b",
|
||||||
|
"tertiary": "#d5a287",
|
||||||
|
"special": "#51ac8d",
|
||||||
|
"weird": "#0cf2a3"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
37
flake.lock
generated
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -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";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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
37
home-modules/ollama.nix
Normal 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)
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
152
home-modules/wallpaper-to-colors.nix
Normal file
152
home-modules/wallpaper-to-colors.nix
Normal 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))
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
7
home.nix
7
home.nix
@@ -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
28
system-modules/fcitx5.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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
16
system-modules/kanata.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.kanata = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.kanata;
|
||||||
|
keyboards.default.config = ''
|
||||||
|
(defsrc
|
||||||
|
caps
|
||||||
|
)
|
||||||
|
(deflayer default
|
||||||
|
esc
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user