From e0fb822650ba60ed74f18cad163cccb6d733ae02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20Schr=C3=B6ter?= Date: Wed, 18 Mar 2026 11:25:55 +0100 Subject: [PATCH] theme collect & kitty & wallpaper & yazi Collect all catppuccin theme settings together, set wallpaper using wpapderd, change console to kitty and install yazi --- configuration.nix | 6 +- flake.lock | 13 +++ flake.nix | 36 ++++--- home/programs/alacritty.nix | 31 ------ home/programs/default.nix | 5 +- home/programs/eww/src/bar.yuck | 1 - home/programs/eww/src/eww.scss | 2 +- .../programs/{dolphin.nix => filebrowser.nix} | 4 +- home/programs/hyprpaper/default.nix | 12 --- home/programs/kitty.nix | 94 ++++++++++++++++ home/programs/nixvim/default.nix | 43 -------- home/programs/nixvim/plugins/lualine.nix | 79 +++++++------- home/programs/river/default.nix | 8 +- home/programs/taskwarrior/default.nix | 3 +- home/programs/vscode.nix | 11 +- home/programs/zathura.nix | 7 -- home/themes/catppuccin.nix | 28 ----- .../catppuccin/catppuccin-taskwarrior.theme} | 0 home/themes/catppuccin/cursor.nix | 9 ++ home/themes/catppuccin/default.nix | 38 +++++++ home/themes/catppuccin/gtk.nix | 27 +++++ home/themes/catppuccin/hyprlock.nix | 102 ++++++++++++++++++ home/themes/catppuccin/nvim.nix | 48 +++++++++ home/themes/catppuccin/taskwarrior.nix | 5 + home/themes/default.nix | 3 +- home/themes/images/face.icon | Bin 0 -> 33407 bytes home/themes/images/lockpaper.png | Bin 0 -> 68884 bytes .../images/wallpaper.jpeg} | Bin home/themes/wallpaper.nix | 9 ++ 29 files changed, 429 insertions(+), 195 deletions(-) delete mode 100644 home/programs/alacritty.nix rename home/programs/{dolphin.nix => filebrowser.nix} (56%) delete mode 100644 home/programs/hyprpaper/default.nix create mode 100644 home/programs/kitty.nix delete mode 100644 home/themes/catppuccin.nix rename home/{programs/taskwarrior/catppuccin.theme => themes/catppuccin/catppuccin-taskwarrior.theme} (100%) create mode 100644 home/themes/catppuccin/cursor.nix create mode 100644 home/themes/catppuccin/default.nix create mode 100644 home/themes/catppuccin/gtk.nix create mode 100644 home/themes/catppuccin/hyprlock.nix create mode 100644 home/themes/catppuccin/nvim.nix create mode 100644 home/themes/catppuccin/taskwarrior.nix create mode 100644 home/themes/images/face.icon create mode 100644 home/themes/images/lockpaper.png rename home/{programs/hyprpaper/background_temp.jpeg => themes/images/wallpaper.jpeg} (100%) create mode 100644 home/themes/wallpaper.nix diff --git a/configuration.nix b/configuration.nix index dcbbd55..c862f08 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: { # Importing necessary setup for Steam & Printing & Flutter. @@ -83,6 +83,7 @@ "networkmanager" "audio" "video" + "render" "adbusers" ]; hashedPassword = "$6$pdAJt1f0v7Zb13Ri$1WpKrErAp5JCb7eXs7EeeWYRMBLu5/WKDdMyGzJyYQDijG2NiywUXpAkl/8p1noxOOqYbb.MTw7JmTzhWGsT21"; @@ -96,8 +97,9 @@ accent = "pink"; font = "Fira Code"; fontSize = "9"; - # background = "${./wallpaper.png}"; + background = "${inputs.images}/lockpaper.jpg"; loginBackground = true; + userIcon = true; }) exiftool diff --git a/flake.lock b/flake.lock index 8b8cd62..ed57f9e 100644 --- a/flake.lock +++ b/flake.lock @@ -101,6 +101,18 @@ "type": "github" } }, + "images": { + "flake": false, + "locked": { + "path": "home/themes/images", + "type": "path" + }, + "original": { + "path": "home/themes/images", + "type": "path" + }, + "parent": [] + }, "neovim-nightly-overlay": { "inputs": { "flake-parts": "flake-parts", @@ -266,6 +278,7 @@ "inputs": { "catppuccin": "catppuccin", "home-manager": "home-manager", + "images": "images", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-vscode-extensions": "nix-vscode-extensions", "nixpkgs": "nixpkgs_3", diff --git a/flake.nix b/flake.nix index d5dede9..a3f0240 100644 --- a/flake.nix +++ b/flake.nix @@ -2,42 +2,49 @@ description = "My NixOS Flake"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + catppuccin.url = "github:catppuccin/nix"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; - nur = { - url = "github:nix-community/NUR"; + images = { + url = "path:home/themes/images"; + flake = false; }; - nixvim = { - url = "github:nix-community/nixvim"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # impermanence.url = "github:nix-community/impermanence"; + + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nix-vscode-extensions = { url = "github:nix-community/nix-vscode-extensions"; inputs.nixpkgs.follows = "nixpkgs"; }; - neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - catppuccin.url = "github:catppuccin/nix"; + nixvim = { + url = "github:nix-community/nixvim"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - # impermanence.url = "github:nix-community/impermanence"; + nur = { + url = "github:nix-community/NUR"; + }; }; outputs = { - nixpkgs, - home-manager, - nur, - nixvim, catppuccin, + home-manager, + images, # impermanence, + nix-vscode-extensions, + nixpkgs, + nixvim, + nur, ... }@inputs: { @@ -45,6 +52,7 @@ nixosConfigurations = { eliasLaptop = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { inherit inputs; }; modules = [ ./machines/configuration-laptop.nix ./home/services/pipewire.nix diff --git a/home/programs/alacritty.nix b/home/programs/alacritty.nix deleted file mode 100644 index 53fa183..0000000 --- a/home/programs/alacritty.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ pkgs, ... }: - -# let -# theme = builtins.fetchurl { -# url = -# "https://github.com/catppuccin/alacritty/raw/main/catppuccin-mocha.toml"; -# sha256 = "1idjbm5jim9b36235hgwgp9ab81fmbij42y7h85l4l7cqcbyz74l"; -# }; -# in { -{ - home.packages = with pkgs; [ - fira-code - alacritty-theme - ]; - - programs.alacritty = { - enable = true; - settings = { - # env = { - # "TERM" = "xterm-256color"; - # import = "${theme}"; - # }; - font = { - size = 7; - normal.family = "Fira Code"; - bold.family = "Fira Code"; - italic.family = "Fira Code"; - }; - }; - }; -} diff --git a/home/programs/default.nix b/home/programs/default.nix index 3f02395..7d4a570 100644 --- a/home/programs/default.nix +++ b/home/programs/default.nix @@ -1,18 +1,17 @@ { imports = [ ./3dprint.nix - ./alacritty.nix ./anki.nix ./calibre.nix ./digikam.nix - ./dolphin.nix ./dunst.nix ./eww + ./filebrowser.nix ./git.nix ./hyprlock.nix - ./hyprpaper ./imv.nix ./inkscape.nix + ./kitty.nix ./libreoffice.nix ./messenger.nix ./nextcloud.nix diff --git a/home/programs/eww/src/bar.yuck b/home/programs/eww/src/bar.yuck index 254b0e4..57480a8 100644 --- a/home/programs/eww/src/bar.yuck +++ b/home/programs/eww/src/bar.yuck @@ -60,7 +60,6 @@ :class "${idle_inhibitor == 'start' ? 'idleOn' : 'idleOff' }" :onclick "systemctl --user is-active hypridle.service && systemctl --user stop hypridle.service || systemctl --user start hypridle.service" (label - :class "${idle_inhibitor == 'start' ? 'speakerOn' : 'speakerOff'}" :text "${idle_inhibitor == 'start' ? '󰈈' : '󰛐' }")))) ;; ── Audio ─────────────────────────────────────────────────────────── diff --git a/home/programs/eww/src/eww.scss b/home/programs/eww/src/eww.scss index 2e958d5..abc9752 100644 --- a/home/programs/eww/src/eww.scss +++ b/home/programs/eww/src/eww.scss @@ -18,7 +18,7 @@ // /-- Widgets --> // /-- Idle Inhibtor --> .idleOn {color: $green;} - .idleOff {color: $green;} + .idleOff {color: $red;} // /-- Audio --> .micOn {color: $green;} .micOff {color: $red;} diff --git a/home/programs/dolphin.nix b/home/programs/filebrowser.nix similarity index 56% rename from home/programs/dolphin.nix rename to home/programs/filebrowser.nix index 033887f..5637bbe 100644 --- a/home/programs/dolphin.nix +++ b/home/programs/filebrowser.nix @@ -8,6 +8,8 @@ kdePackages.baloo nautilus udisks + yazi ]; - xdg.configFile."menus/applications.menu".source = "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu"; + xdg.configFile."menus/applications.menu".source = + "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu"; } diff --git a/home/programs/hyprpaper/default.nix b/home/programs/hyprpaper/default.nix deleted file mode 100644 index 1f93d61..0000000 --- a/home/programs/hyprpaper/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: - -{ - home.packages = with pkgs; [ - swww - ]; - services.swww.enable = true; - xsession.initExtra = '' - swww-daemon - swww img "/etc/nixos/home/programs/swww/background_temp.jpeg" fill - ''; -} diff --git a/home/programs/kitty.nix b/home/programs/kitty.nix new file mode 100644 index 0000000..ca47376 --- /dev/null +++ b/home/programs/kitty.nix @@ -0,0 +1,94 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ + imagemagick + ]; + + home.sessionVariables = { + TERMINAL = "${pkgs.kitty}/bin/kitty"; + }; + + programs.kitty = { + enable = true; + font = { + size = 3; + name = "Fira Code"; + package = pkgs.fira-code; + }; + settings = { + clear_all_shortcuts = true; + enabled_layouts = "splits:slit_axis=horizontal,stack"; + enable_audio_bell = false; + cursor_shape = "underline"; + confirm_os_window_close = 0; + allow_remote_control = true; + listen_on = "unix:/tmp/kitty"; + shell_integration = true; + tab_bar_min_tabs = 1; + tab_bar_style = "powerline"; + }; + actionAliases = { + kitty_scrollback_nvim = "kitten ${pkgs.vimPlugins.kitty-scrollback-nvim}/python/kitty_scrollback_nvim.py --nvim-args --noplugin -n"; + }; + keybindings = { + "ctrl+shift+c" = "copy_to_clipboard"; + "ctrl+shift+v" = "paste_from_clipboard"; + + "ctrl+shift+h" = "kitty_scrollback_nvim"; + "ctrl+shift+g" = "kitty_scrollback_nvim --config ksb_builtin_last_cmd_output"; + + "ctrl+shift+u" = "input_unicode_character"; + + # WINDOWS + "ctrl+shift+p>j" = "neighboring_window down"; + "ctrl+shift+p>k" = "neighboring_window up"; + "ctrl+shift+p>h" = "neighboring_window left"; + "ctrl+shift+p>l" = "neighboring_window right"; + + "ctrl+shift+r>j" = "kitten relative_resize.py down 3"; + "ctrl+shift+r>k" = "kitten relative_resize.py up 3"; + "ctrl+shift+r>h" = "kitten relative_resize.py left 3"; + "ctrl+shift+r>l" = "kitten relative_resize.py right 3"; + + "ctrl+shift+p>shift+h" = "move_window left"; + "ctrl+shift+p>shift+l" = "move_window right"; + "ctrl+shift+p>shift+j" = "move_window down"; + "ctrl+shift+p>shift+k" = "move_window up"; + + "ctrl+shift+p>s" = "launch --location=hsplit"; + "ctrl+shift+p>v" = "launch --location=vsplit"; + "ctrl+shift+p>p" = "launch --location=hsplit --cwd=current --bias=35"; + "ctrl+shift+p>r" = "layout_action rotate"; + + "ctrl+shift+p>f" = "toggle_layout stack"; + "ctrl+shift+p>q" = "close_window"; + + # TABS + "ctrl+shift+t>l" = "next_tab"; + "ctrl+shift+t>h" = "previous_tab"; + "ctrl+shift+t>n" = "new_tab"; + "ctrl+shift+t>q" = "close_tab"; + "ctrl+shift+t>r" = "set_tab_title"; + "ctrl+shift+t>s" = "select_tab"; + + "ctrl+shift+t>shift+l" = "move_tab_forward"; + "ctrl+shift+t>shift+h" = "move_tab_backward"; + }; + extraConfig = '' + mouse_map ctrl+shift+right press ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output + + # Unset the mapping to pass the keys to neovim + map --when-focus-on var:IS_NVIM ctrl+shift+p>j + map --when-focus-on var:IS_NVIM ctrl+shift+p>k + map --when-focus-on var:IS_NVIM ctrl+shift+p>h + map --when-focus-on var:IS_NVIM ctrl+shift+p>l + + map --when-focus-on var:IS_NVIM ctrl+shift+r>j + map --when-focus-on var:IS_NVIM ctrl+shift+r>k + map --when-focus-on var:IS_NVIM ctrl+shift+r>h + map --when-focus-on var:IS_NVIM ctrl+shift+r>l + ''; + shellIntegration.enableZshIntegration = true; + }; +} diff --git a/home/programs/nixvim/default.nix b/home/programs/nixvim/default.nix index e423c98..b005886 100644 --- a/home/programs/nixvim/default.nix +++ b/home/programs/nixvim/default.nix @@ -39,49 +39,6 @@ syntax on ''; -# colorscheme = "catppuccin"; -# colorschemes.catppuccin = { -# #lazyLoad.enable = true; -# enable = true; -# flavour = "mocha"; -# settings = { -# integrations = { -# markdown = true; -# leap = true; -# dap = true; -# dap_ui = true; -# lsp_trouble = true; -# blink_cmp = true; -# gitsigns = true; -# diffview = true; -# treesitter = true; -# barbar = true; -# telescope = true; -# native_lsp = { -# enabled = true; -# virtual_text = { -# errors = [ "italic" ]; -# hints = [ "italic" ]; -# warnings = [ "italic" ]; -# information = [ "italic" ]; -# ok = [ "italic" ]; -# }; -# underlines = { -# errors = [ "underline" ]; -# hints = [ "underline" ]; -# warnings = [ "underline" ]; -# information = [ "underline" ]; -# ok = [ "underline" ]; -# }; -# inlay_hints = { -# background = true; -# }; -# }; -# lsp_saga = true; -# }; -# }; -# }; -# globals = { mapleader = " "; maplocalleader = ","; diff --git a/home/programs/nixvim/plugins/lualine.nix b/home/programs/nixvim/plugins/lualine.nix index d506ffa..c65ba02 100644 --- a/home/programs/nixvim/plugins/lualine.nix +++ b/home/programs/nixvim/plugins/lualine.nix @@ -4,46 +4,45 @@ programs.nixvim.plugins = { lualine = { enable = true; - settings = { - theme = "catppuccin"; - # sections = { - # lualine_c = [ - # { - # __unkeyed-1 = { - # __raw = '' - # function() - # require("trouble").statusline({ - # mode = "lsp_document_symbols", - # groups = {}, - # title = false, - # filter = { range = true }, - # format = "{kind_icon}{symbol.name:Normal}", - # -- The following line is needed to fix the background color - # -- Set it to the lualine section you want to use - # hl_group = "lualine_c_normal", - # } - # ).get - # end - # ''; - # }; - # cond = { - # __raw = '' - # require("trouble").statusline({ - # mode = "lsp_document_symbols", - # groups = {}, - # title = false, - # filter = { range = true }, - # format = "{kind_icon}{symbol.name:Normal}", - # -- The following line is needed to fix the background color - # -- Set it to the lualine section you want to use - # hl_group = "lualine_c_normal", - # }).has - # ''; - # }; - # } - # ]; - # }; - }; + # settings = { + # sections = { + # lualine_c = [ + # { + # __unkeyed-1 = { + # __raw = '' + # function() + # require("trouble").statusline({ + # mode = "lsp_document_symbols", + # groups = {}, + # title = false, + # filter = { range = true }, + # format = "{kind_icon}{symbol.name:Normal}", + # -- The following line is needed to fix the background color + # -- Set it to the lualine section you want to use + # hl_group = "lualine_c_normal", + # } + # ).get + # end + # ''; + # }; + # cond = { + # __raw = '' + # require("trouble").statusline({ + # mode = "lsp_document_symbols", + # groups = {}, + # title = false, + # filter = { range = true }, + # format = "{kind_icon}{symbol.name:Normal}", + # -- The following line is needed to fix the background color + # -- Set it to the lualine section you want to use + # hl_group = "lualine_c_normal", + # }).has + # ''; + # }; + # } + # ]; + # }; + # }; }; }; } diff --git a/home/programs/river/default.nix b/home/programs/river/default.nix index e0af7f4..e4def5b 100644 --- a/home/programs/river/default.nix +++ b/home/programs/river/default.nix @@ -8,11 +8,11 @@ { home.packages = with pkgs; [ wlr-randr - slurp grim - wl-clipboard rivercarro ristate + slurp + wl-clipboard ]; xdg.configFile."helperscripts" = { recursive = true; @@ -44,7 +44,7 @@ settings = { spawn = [ "/home/${config.home.username}/.config/helperscripts/startEww.sh" - # "nextcloud" + "nextcloud" ]; spawn-tagmask = "${all_but_scratch_tag}"; keyboard-layout = "de"; @@ -68,7 +68,7 @@ }; map = { normal = { - "Super+Shift Return" = "spawn alacritty"; + "Super+Shift Return" = "spawn kitty"; # Messages "Control+Super W" = "spawn 'printf \"Hello from Wayland!\" | dunstify -'"; # System diff --git a/home/programs/taskwarrior/default.nix b/home/programs/taskwarrior/default.nix index b16f6ab..119bedd 100644 --- a/home/programs/taskwarrior/default.nix +++ b/home/programs/taskwarrior/default.nix @@ -11,9 +11,8 @@ programs.taskwarrior = { enable = true; - colorTheme = ./catppuccin.theme; package = pkgs.taskwarrior3; - dataLocation = "~/Nextcloud/tasks"; + dataLocation = "~/tasks"; # TODO: change to Nextcloud again config = { uda.parentName = { type = "string"; diff --git a/home/programs/vscode.nix b/home/programs/vscode.nix index 9bb2a87..1f52350 100644 --- a/home/programs/vscode.nix +++ b/home/programs/vscode.nix @@ -3,10 +3,11 @@ { programs.vscode = { enable = true; - profiles.default.extensions = with pkgs.vscode-extensions; [ - dracula-theme.theme-dracula - vscodevim.vim - yzhang.markdown-all-in-one - ]; + package = pkgs.vscodium; + profiles.default = { + enableUpdateCheck = false; + enableExtensionUpdateCheck = false; + extensions = with pkgs.vscode-extensions; [ vscodevim.vim ]; + }; }; } diff --git a/home/programs/zathura.nix b/home/programs/zathura.nix index 100c786..c77e222 100644 --- a/home/programs/zathura.nix +++ b/home/programs/zathura.nix @@ -1,12 +1,5 @@ { ... }: -# let -# theme = builtins.fetchurl { -# url = -# "https://raw.githubusercontent.com/catppuccin/zathura/main/src/catppuccin-mocha"; -# sha256 = "1zhx3bfz5s2wjrj87w0ryh15vgsqqfhg6dm48p63r5fmqwsak721"; -# }; -# in { { programs.zathura = { enable = true; diff --git a/home/themes/catppuccin.nix b/home/themes/catppuccin.nix deleted file mode 100644 index 346c6a5..0000000 --- a/home/themes/catppuccin.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - ... -}: - -{ - catppuccin = { - enable = true; - flavor = "mocha"; - accent = "pink"; - - alacritty.enable = true; - anki.enable = true; - cursors.enable = true; - dunst.enable = true; - element-desktop.enable = true; - firefox.enable = true; - fzf.enable = true; - hyprlock.enable = true; - imv.enable = true; - lazygit.enable = true; - rofi.enable = true; - spotify-player.enable = true; - thunderbird.enable = true; - vscode.enable = true; - zathura.enable = true; - zsh-syntax-highlighting.enable = true; - }; -} diff --git a/home/programs/taskwarrior/catppuccin.theme b/home/themes/catppuccin/catppuccin-taskwarrior.theme similarity index 100% rename from home/programs/taskwarrior/catppuccin.theme rename to home/themes/catppuccin/catppuccin-taskwarrior.theme diff --git a/home/themes/catppuccin/cursor.nix b/home/themes/catppuccin/cursor.nix new file mode 100644 index 0000000..74bb66b --- /dev/null +++ b/home/themes/catppuccin/cursor.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +{ + home.pointerCursor = { + package = pkgs.catppuccin-cursors.mochaPink; + name = "Catppuccin-Mocha-Pink-Cursors"; + gtk.enable = true; + }; +} diff --git a/home/themes/catppuccin/default.nix b/home/themes/catppuccin/default.nix new file mode 100644 index 0000000..bf5b1d5 --- /dev/null +++ b/home/themes/catppuccin/default.nix @@ -0,0 +1,38 @@ +{ + inputs, + ... +}: + +{ + imports = [ + ./cursor.nix + ./gtk.nix + ./hyprlock.nix + ./nvim.nix + ./taskwarrior.nix + ]; + + catppuccin = { + enable = false; + flavor = "mocha"; + accent = "pink"; + + anki.enable = true; + dunst.enable = true; + element-desktop.enable = true; + firefox.enable = true; + fzf.enable = true; + imv.enable = true; + kitty.enable = true; + lazygit.enable = true; + rofi.enable = true; + spotify-player.enable = true; + thunderbird.enable = true; + vscode.profiles.default.enable = true; + zathura.enable = true; + zsh-syntax-highlighting.enable = true; + }; + + # ── Icon for Lock & Loginscreen ─────────────────────────────────────── + xdg.configFile.".face.icon".source = inputs.images + /face.icon; +} diff --git a/home/themes/catppuccin/gtk.nix b/home/themes/catppuccin/gtk.nix new file mode 100644 index 0000000..70e865c --- /dev/null +++ b/home/themes/catppuccin/gtk.nix @@ -0,0 +1,27 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ dconf ]; + + gtk = { + enable = true; + theme = { + name = "Catppuccin-Mocha-Compact-Pink-Dark"; + package = pkgs.catppuccin-gtk.override { + accents = [ "pink" ]; + size = "compact"; + tweaks = [ "rimless" ]; + variant = "mocha"; + }; + }; + font = { + package = pkgs.fira-code; + name = "Fira Code"; + }; + iconTheme = { + package = pkgs.oranchelo-icon-theme; + name = "Oranchelo"; + }; + }; + +} diff --git a/home/themes/catppuccin/hyprlock.nix b/home/themes/catppuccin/hyprlock.nix new file mode 100644 index 0000000..aa18b36 --- /dev/null +++ b/home/themes/catppuccin/hyprlock.nix @@ -0,0 +1,102 @@ +{ inputs, ... }: + +let + variables = { + accent = "rgb(f5c2e7)"; + accentPango = "##f5c2e7"; + base = "rgb(1e1e2e)"; + text = "rgb(cdd6f4)"; + textPango = "##cdd6f4"; + surface0 = "rgb(313244)"; + red = "rgb(f38ba8)"; + yellow = "rgb(f9e2af)"; + font = "Fira Code"; + }; +in +{ + # ── Hyprlock ────────────────────────────────────────────────────────── + programs.hyprlock.settings = { + + general = { + hide_cursor = true; + ignore_empty_input = true; + }; + + background = { + monitor = ""; + path = "${inputs.images}/lockpaper.png"; + blur_passes = 0; + color = variables.base; + }; + + label = [ + # ── Time ────────────────────────────────────────────────────────────── + { + monitor = ""; + text = "$TIME"; + color = variables.text; + font_size = 90; + font_family = variables.font; + position = "-30, 0"; + halign = "right"; + valign = "top"; + } + + # ── Date ────────────────────────────────────────────────────────────── + { + monitor = ""; + text = "cmd[update:43200000] date +'%A, %d %B %Y'"; + color = variables.text; + font_size = 25; + font_family = variables.font; + position = "-30, -150"; + halign = "right"; + valign = "top"; + } + + # ── Fingerprint ─────────────────────────────────────────────────────── + { + monitor = ""; + text = "$FPRINTPROMPT"; # TODO: No output yet check again + color = variables.text; + font_size = 14; + font_family = variables.font; + position = "0, -107"; + halign = "center"; + valign = "center"; + } + ]; + + image = { + monitor = ""; + path = "${inputs.images}/face.icon"; + size = 100; + border_color = variables.accent; + position = "0, 75"; + halign = "center"; + valign = "center"; + }; + + input-field = { + monitor = ""; + size = "300, 60"; + outline_thickness = 4; + dots_size = 0.2; + dots_spacing = 0.2; + dots_center = true; + outer_color = variables.accent; + inner_color = variables.surface0; + font_color = variables.text; + fade_on_empty = false; + placeholder_text = "󰌾 Logged in as $USER"; + hide_input = false; + check_color = variables.accent; + fail_color = variables.red; + fail_text = "$FAIL ($ATTEMPTS)"; + capslock_color = variables.yellow; + position = "0, -47"; + halign = "center"; + valign = "center"; + }; + }; +} diff --git a/home/themes/catppuccin/nvim.nix b/home/themes/catppuccin/nvim.nix new file mode 100644 index 0000000..3c8db21 --- /dev/null +++ b/home/themes/catppuccin/nvim.nix @@ -0,0 +1,48 @@ +{ ... }: + +{ + programs.nixvim = { + colorscheme = "catppuccin"; + colorschemes.catppuccin = { + #lazyLoad.enable = true; + enable = true; + flavour = "mocha"; + accents = "pink"; + settings = { + integrations = { + markdown = true; + leap = true; + dap = true; + dap_ui = true; + lsp_trouble = true; + blink_cmp = true; + gitsigns = true; + diffview = true; + treesitter = true; + barbar = true; + telescope = true; + native_lsp = { + enabled = true; + virtual_text = { + errors = [ "italic" ]; + hints = [ "italic" ]; + warnings = [ "italic" ]; + information = [ "italic" ]; + ok = [ "italic" ]; + }; + underlines = { + errors = [ "underline" ]; + hints = [ "underline" ]; + warnings = [ "underline" ]; + information = [ "underline" ]; + ok = [ "underline" ]; + }; + inlay_hints.background = true; + }; + lsp_saga = true; + }; + }; + }; + plugins.lualine.settings.theme = "catppuccin"; + }; +} diff --git a/home/themes/catppuccin/taskwarrior.nix b/home/themes/catppuccin/taskwarrior.nix new file mode 100644 index 0000000..28357c8 --- /dev/null +++ b/home/themes/catppuccin/taskwarrior.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + programs.taskwarrior.colorTheme = ./catppuccin-taskwarrior.theme; +} diff --git a/home/themes/default.nix b/home/themes/default.nix index fc1193a..867dbcd 100644 --- a/home/themes/default.nix +++ b/home/themes/default.nix @@ -1,5 +1,6 @@ { imports = [ - ./catppuccin.nix + ./catppuccin + ./wallpaper.nix ]; } diff --git a/home/themes/images/face.icon b/home/themes/images/face.icon new file mode 100644 index 0000000000000000000000000000000000000000..42f45187634b922c4971b383f50e3eb5a8ceeb4e GIT binary patch literal 33407 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 VWVK~zi@|{(a#G5Y)llP){|AjE52pYC literal 0 HcmV?d00001 diff --git a/home/themes/images/lockpaper.png b/home/themes/images/lockpaper.png new file mode 100644 index 0000000000000000000000000000000000000000..87d3bcd2d45a7f7b15d88cd2aa029376ffc8c125 GIT binary patch literal 68884 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

HyH*|XVQ3fm?PzxU zIjbmr*23IZ^qJw_@blu{fx5uP@oMQ}G3nkp3LcS@EkIFpiza)hW}GLhc_|(i^VSx1 z{lx$VUIaDbj~zZN4~U(lL`6J)r+bvY-p%0on097us5kAC95#8l(R~RGJ6k1tQW}C9 z4go{p5j7H*Z*YC%YtxqQ9?nvcM(VpPMhjRyV(-kWj?PFgYwu%)M*!go&Up?4mMS_# zFFQO!FWb}v0MxF$pxkrx%SL>PXw0eOP1nsTLv&&i=we5{&y;g!>lQ z2au~1rl=(h?_KTHetR(hWIcT*xK|XkBl7Q!gsI^>6!ykB+uGRlzV23bC8%r088zQM zmAotPIMHsSp|MtK=3n-f1V-lUj-OoOcFj)Nvo+Gv6VYa6B|C8&f}Tw~;0^0$SPnMC z#s^+5+o}N-IQw=jgPxPRRQUd=c%H?#DG9UEXL`1K_8@;Kl(Geg-chdZs_AK4vU=_u zi!pFuyu-@{ZR42~{6_LhT1&zh+dY&>)Q>ms+JU5)HVLSfibw5OPXN2sHi3Z7d!7{i zZZ(1go+?Gq9olrwbUKl6#(D;8s^%f;NaiCkLWFQWfq+UvUYdO1~h-v=-K z)W&P8p6(D1wA9yZ*Kn&h1A1Js9Ua{oT^Ua>F)>cBxz9T}AJ3%Iw|eJdi;{C3xn==C zS$H0cVa%$j{_2tVxcu>1zLyK?lzDy>QM?JPfbEW{2F<^*!gAlH%5p@d^XqENXs}m@j0=% zrKy8R42#~&2?E_l(&>kKD&DgL^`DqbCaVi)nw~^ciPO9ZKrVTHAyNe6kX}R5jc_)A z4J;@tH2zyj-2P}kzct186E4?Y9g&jg?1I`eXp_S6`|5(fVM2|=%hP5Bk&hI_$gki+kpfr=oRj}+Ia!+C^7`{$ z0I^I;Z%}%nMniytpbg*vLIH#V2n7%dAQT|J5%lw6*aE{A=oLUHK+q7%@}ku6;cW-!N57eKskZB z1EB!y4uJ3op#VYwgaQZ!z&C_Y0HFXv0fYhw1xTd)hX}62E>(Q}@Ad*f$M_Fx4XwF7 z6^Q&dY@&>xIYCTm^FJ2+U#*gJrU@RLU$C}Ao$`8Km-T{ z5DNZlp} animals and fallback to something if no iternet + }; +}