diff --git a/README.md b/README.md index 82c64ca..6cdd7f5 100644 --- a/README.md +++ b/README.md @@ -28,3 +28,26 @@ Here's some things you might want to check out: - My [neovim config](./dotfiles/neovim) - The [flake](./flake.nix) entrypoint for this repository + +### Links to everything used here: + +> Well, this does not include links to every plugin I used for every proram here, you can see more details in the respective configurations + +- [nixos](http://nixos.org/) - nix based operating system +- [home-manager](https://github.com/nix-community/home-manager) - manager user configuration using nix +- [base16-nix](https://github.com/SenchoPens/base16.nix) - base16 module for nix + - [Base16 templates](https://github.com/chriskempson/base16-templates-source) - list of base16 template themes + - [Catpuccin](https://github.com/catppuccin/catppuccin) - base16 theme I use +- [Agenix](https://github.com/ryantm/agenix) & [homeage](https://github.com/jordanisaacs/homeage) - secret management +- [Xmonad](https://xmonad.org/) - window manager + - [Polybar](https://github.com/polybar/polybar) - desktop bar + - [Rofi](https://github.com/davatorium/rofi) - program launcher +- [Neovim](https://neovim.io/) - my editor + - [Neovide](https://neovide.dev/index.html) - neovide gui client + - [Vimclip](https://github.com/hrantzsch/vimclip) - vim anywhere! +- [Tmux](https://github.com/tmux/tmux/wiki) - terminal multiplexer +- [Alacritty](https://github.com/alacritty/alacritty) - terminal emulator +- [Fish](https://fishshell.com/) - user friendly shell + - [Starship](https://starship.rs/) - shell prompt +- [Zathura](https://pwmt.org/projects/zathura/) - pdf viewer +- [Ranger](https://github.com/ranger/ranger) - file manager diff --git a/dotfiles/neovim/lua/my/plugins/catppuccin.lua b/dotfiles/neovim/lua/my/plugins/catppuccin.lua index 8171318..ffec862 100644 --- a/dotfiles/neovim/lua/my/plugins/catppuccin.lua +++ b/dotfiles/neovim/lua/my/plugins/catppuccin.lua @@ -5,7 +5,7 @@ local M = { function M.config() local catppuccin = require("catppuccin") - vim.g.catppuccin_flavour = os.getenv("CATPPUCCIN_FLAVOUR") + vim.g.catppuccin_flavour = os.getenv("CATPPUCCIN_FLAVOUR") or "latte" catppuccin.setup({ transparent_background = false, integrations = { nvimtree = true } }) diff --git a/dotfiles/neovim/lua/my/plugins/init.lua b/dotfiles/neovim/lua/my/plugins/init.lua index 96a363a..8305832 100644 --- a/dotfiles/neovim/lua/my/plugins/init.lua +++ b/dotfiles/neovim/lua/my/plugins/init.lua @@ -12,6 +12,12 @@ return { cond = env.vscode.not_active(), }, + { + "Fymyte/rasi.vim", + ft = "rasi", + cond = env.vscode.not_active(), + }, + { "teal-language/vim-teal", ft = "teal", diff --git a/flake.nix b/flake.nix index aa74a8a..66f9093 100644 --- a/flake.nix +++ b/flake.nix @@ -85,6 +85,7 @@ home-manager.extraSpecialArgs = specialArgs; home-manager.useUserPackages = true; } + ./hosts/nixos/tethys ]; }; @@ -102,4 +103,16 @@ }; }; }; + + # {{{ Caching and whatnot + nixConfig = { + extra-substituters = [ + "https://nix-community.cachix.org" # I think I need this for neovim-nightly? + ]; + + extra-trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + }; + # }}} } diff --git a/home/adrielus/features/cli/default.nix b/home/adrielus/features/cli/default.nix index 9a6361e..16bde62 100644 --- a/home/adrielus/features/cli/default.nix +++ b/home/adrielus/features/cli/default.nix @@ -23,5 +23,6 @@ neofetch # Display system information unzip # For working with .zip files unrar # For extracting shit from rars + sloc # Useless but fun line of code counter ]; } diff --git a/home/adrielus/features/desktop/common/alacritty.nix b/home/adrielus/features/desktop/common/alacritty.nix new file mode 100644 index 0000000..45b0f85 --- /dev/null +++ b/home/adrielus/features/desktop/common/alacritty.nix @@ -0,0 +1,28 @@ +{ config, pkgs, ... }: +let base16-alacritty = pkgs.fetchFromGitHub { + owner = "aarowill"; + repo = "base16-alacritty"; + sha256 = "0zibl9kzazckkyzb6j0iabrl82r1kgwg8ndqpy7dz0kwmj42wfx0"; + rev = "914727e48ebf3eab1574e23ca0db0ecd0e5fe9d0"; +}; +in +{ + programs.alacritty = { + enable = true; + + settings = { + import = [ (config.scheme base16-alacritty) ]; + + window.decorations = "none"; + window.padding = { + x = 4; + y = 4; + }; + + fonts.normal.family = config.fontProfiles.monospace.family; + + env = { TERM = "xterm-256color"; }; + working_directory = "${config.home.homeDirectory}/Projects/"; + }; + }; +} diff --git a/home/adrielus/features/desktop/common/firefox.nix b/home/adrielus/features/desktop/common/firefox.nix new file mode 100644 index 0000000..1148eef --- /dev/null +++ b/home/adrielus/features/desktop/common/firefox.nix @@ -0,0 +1,107 @@ +{ pkgs, ... }: +let + mkBasicSearchEngine = { aliases, url, param }: { + urls = [{ + template = url; + params = [ + { name = param; value = "{searchTerms}"; } + ]; + }]; + + definedAliases = aliases; + }; + + mkNixPackagesEngine = { aliases, type }: + let basicEngine = mkBasicSearchEngine + { + aliases = aliases; + url = "https://search.nixos.org/${type}"; + param = "query"; + }; + in + basicEngine // { + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + }; +in +{ + programs.firefox = { + enable = true; + profiles.adrielus = { + # Unique user id + id = 0; + + # Make this the default user + isDefault = true; + + # Forcefully replace the search configuration + search.force = true; + + # Set default search engine + search.default = "Google"; + + # Specify custom search engines + search.engines = { + "Nix Packages" = mkNixPackagesEngine { + aliases = [ "@np" "@nix-packages" ]; + type = "packages"; + }; + + "Nix options" = mkNixPackagesEngine { + aliases = [ "@no" "@nix-options" ]; + type = "options"; + }; + + # Purescript packages + "Pursuit" = mkBasicSearchEngine { + url = "https://pursuit.purescript.org/search"; + param = "s"; + aliases = [ "@ps" "@pursuit" ]; + }; + + "Wikipedia" = mkBasicSearchEngine { + url = "https://en.wikipedia.org/wiki/Special:Search"; + param = "search"; + aliases = [ "@wk" "@wikipedia" ]; + }; + + "Github" = mkBasicSearchEngine { + url = "https://github.com/search"; + param = "q"; + aliases = [ "@gh" "@github" ]; + }; + + "Youtube" = mkBasicSearchEngine { + url = "https://www.youtube.com/results"; + param = "search_query"; + aliases = [ "@yt" "@youtube" ]; + }; + + "Noita wiki" = mkBasicSearchEngine { + url = "https://noita.wiki.gg/index.php"; + param = "search"; + aliases = [ "@noita" ]; + }; + + "Rain world wiki" = mkBasicSearchEngine { + url = "https://rainworld.miraheze.org/w/index.php"; + param = "search"; + aliases = [ "@rw" "@rain-world" ]; + }; + + "Factorio wiki" = mkBasicSearchEngine { + url = "https://wiki.factorio.com/index.php"; + param = "search"; + aliases = [ "@fw" "@factorio-wiki" ]; + }; + + "Factorio mod portal" = mkBasicSearchEngine { + url = "https://mods.factorio.com/"; + param = "query"; + aliases = [ "@fm" "@factorio-mods" ]; + }; + + "Google".metaData.alias = "@g"; + }; + }; + }; +} diff --git a/home/adrielus/features/desktop/common/polybar/default.nix b/home/adrielus/features/desktop/common/polybar/default.nix index 3794606..3b1e9c9 100644 --- a/home/adrielus/features/desktop/common/polybar/default.nix +++ b/home/adrielus/features/desktop/common/polybar/default.nix @@ -17,15 +17,15 @@ in enable = true; extraConfig = '' ; Generated theme - include-file = ${config.scheme base16-polybar} + ${builtins.readFile (config.scheme base16-polybar)} ; Consistent fonts [fonts] - regular = ${config.fontProfiles.regular.family} - monospace = ${config.fontProfiles.monospace.family} + regular = "${config.fontProfiles.regular.family}" + monospace = "${config.fontProfiles.monospace.family}" ; Actual config - include-file = ${./polybar.ini} + ${builtins.readFile ./polybar.ini} ''; }; diff --git a/home/adrielus/features/desktop/common/polybar/polybar.ini b/home/adrielus/features/desktop/common/polybar/polybar.ini index 1fe00fe..6c19ff6 100644 --- a/home/adrielus/features/desktop/common/polybar/polybar.ini +++ b/home/adrielus/features/desktop/common/polybar/polybar.ini @@ -73,13 +73,13 @@ icon-default =  format = label-active = %icon% -label-active-background = ${color.base05} -label-active-foreground = ${color.base00} +label-active-background = ${colors.base05} +label-active-foreground = ${colors.base00} label-active-padding = 2 label-urgent = %icon% -label-urgent-background = ${color.base09} -label-urgent-foreground = ${color.base00} +label-urgent-background = ${colors.base09} +label-urgent-foreground = ${colors.base00} label-urgent-padding = 2 label-occupied = %icon% @@ -88,7 +88,7 @@ label-occupied-padding = 2 label-empty = [bar/main] -font-0 = ${fonts.monospace}:style=Regular +font-0 = ${fonts.monospace} modules-left = date battery modules-center = ewmh @@ -102,9 +102,9 @@ module-margin = 2 height=4% border-top-size = 1 -border-top-color = ${color.base05} +border-top-color= ${colors.base05} -background = ${color.base00} -foreground = ${color.base05} +background = ${colors.base00} +foreground = ${colors.base05} bottom = true diff --git a/home/adrielus/features/desktop/common/rofi/config.rasi b/home/adrielus/features/desktop/common/rofi/config.rasi index 7291cb4..71998d1 100644 --- a/home/adrielus/features/desktop/common/rofi/config.rasi +++ b/home/adrielus/features/desktop/common/rofi/config.rasi @@ -12,84 +12,10 @@ configuration { display-run: "  Run "; display-window: " 﩯 Window"; display-Network: " 󰤨 Network"; - sidebar-mode: true; -} - -listview { - columns: 1; -} - -* { - width: 600; -} - -element-text, element-icon , mode-switcher { - background-color: inherit; - text-color: inherit; } window { border: 3px; - height: 50%; width: 50%; } - -inputbar { - children: [prompt,entry]; - border-radius: 5px; - padding: 2px; -} - -prompt { - padding: 6px; - border-radius: 3px; - margin: 20px 0px 0px 20px; -} - -textbox-prompt-colon { - expand: false; - str: ":"; -} - -entry { - padding: 6px; - margin: 20px 0px 0px 10px; -} - -listview { - border: 0px 0px 0px; - padding: 6px 0px 0px; - margin: 10px 0px 0px 20px; - columns: 2; - lines: 5; -} - -element { - padding: 5px; -} - -element-icon { - size: 25px; -} - -mode-switcher { - spacing: 0; -} - -button { - padding: 10px; - vertical-align: 0.5; - horizontal-align: 0.5; -} - -message { - margin: 2px; - padding: 2px; - border-radius: 5px; -} - -textbox { - padding: 6px; - margin: 20px 0px 0px 20px; -} diff --git a/home/adrielus/features/desktop/common/rofi/default.nix b/home/adrielus/features/desktop/common/rofi/default.nix index 7c35d20..e23759a 100644 --- a/home/adrielus/features/desktop/common/rofi/default.nix +++ b/home/adrielus/features/desktop/common/rofi/default.nix @@ -16,7 +16,7 @@ in // Inject font configuration { - font = ${config.fontProfiles.monospace.family}; + font: "${config.fontProfiles.monospace.family}"; } // Theme diff --git a/home/adrielus/features/desktop/common/wakatime/wakatime_config.age b/home/adrielus/features/desktop/common/wakatime/wakatime_config.age index 43f5729..573c5a0 100644 Binary files a/home/adrielus/features/desktop/common/wakatime/wakatime_config.age and b/home/adrielus/features/desktop/common/wakatime/wakatime_config.age differ diff --git a/home/adrielus/features/desktop/common/wallpapers/wall.png b/home/adrielus/features/desktop/common/wallpapers/wall.png new file mode 100644 index 0000000..394fc9c Binary files /dev/null and b/home/adrielus/features/desktop/common/wallpapers/wall.png differ diff --git a/home/adrielus/features/desktop/common/xresources.nix b/home/adrielus/features/desktop/common/xresources.nix new file mode 100644 index 0000000..cda282f --- /dev/null +++ b/home/adrielus/features/desktop/common/xresources.nix @@ -0,0 +1,11 @@ +{ config, pkgs, ... }: +let base16-xresources = pkgs.fetchFromGitHub { + owner = "tinted-theming"; + repo = "base16-xresources"; + sha256 = "151zahx18vfrmbll7lwwnb17rn4z0di8n0fi2yr10hg14azddb2r"; + rev = "6711cf4fa61e903e52ef6eac186b83e04a0397d8"; +}; +in +{ + xresources.extraConfig = builtins.readFile (config.scheme base16-xresources); +} diff --git a/home/adrielus/features/desktop/common/xwallpaper.nix b/home/adrielus/features/desktop/common/xwallpaper.nix new file mode 100644 index 0000000..6311f54 --- /dev/null +++ b/home/adrielus/features/desktop/common/xwallpaper.nix @@ -0,0 +1,3 @@ +{ + home.file.".background-image".source = ./wallpapers/wall.png; +} diff --git a/home/adrielus/features/desktop/xmonad.nix b/home/adrielus/features/desktop/xmonad.nix index a8b76fb..4fc22fd 100644 --- a/home/adrielus/features/desktop/xmonad.nix +++ b/home/adrielus/features/desktop/xmonad.nix @@ -1,3 +1,17 @@ -{ - imports = [ ./common/rofi ./common/polybar ./common/fonts.nix ]; +{ pkgs, ... }: { + imports = [ + ./common/rofi + ./common/polybar + ./common/fonts.nix + ./common/xresources.nix + ./common/xwallpaper.nix + ./common/alacritty.nix + ]; + + # Other packages I want to install: + home.packages = with pkgs; [ + vimclip # Vim anywhere! + xclip # Clipboard stuff + spectacle # Take screenshots + ]; } diff --git a/home/adrielus/features/neovim/default.nix b/home/adrielus/features/neovim/default.nix index 405b907..b1d20e3 100644 --- a/home/adrielus/features/neovim/default.nix +++ b/home/adrielus/features/neovim/default.nix @@ -43,8 +43,8 @@ let extraRuntime = [ (if devMode - then symlink "${paths.dotfiles}/vscode-snippets" - else ../../../../dotfiles/vscode-snippets) + then symlink "${paths.dotfiles}/vscode-snippets" + else ../../../../dotfiles/vscode-snippets) ]; # Wraps a neovim client, providing the dependencies @@ -57,7 +57,7 @@ let # - NVIM_EXTRA_RUNTIME provides extra directories to add to the runtimepath. # I cannot just install those dirs using the builtin package support because # my package manager (lazy.nvim) disables those. - wrapClient = { base, name }: + wrapClient = { base, name, extraArgs ? "" }: pkgs.symlinkJoin { inherit (base) name meta; paths = [ base ]; @@ -66,12 +66,17 @@ let wrapProgram $out/bin/${name} \ --prefix PATH : ${lib.makeBinPath extraPackages} \ --set INSIDE_NEOVIDE ${if name == "neovide" then "1" else "0"} \ - --set NVIM_EXTRA_RUNTIME ${lib.strings.concatStringsSep "," extraRuntime} + --set NVIM_EXTRA_RUNTIME ${lib.strings.concatStringsSep "," extraRuntime} \ + ${extraArgs} ''; }; neovim = wrapClient { base = pkgs.neovim-nightly; name = "nvim"; }; - neovide = wrapClient { base = pkgs.neovide; name = "neovide"; }; + neovide = wrapClient { + base = pkgs.neovide; + name = "neovide"; + extraArgs = "--set NEOVIDE_MULTIGRID true"; + }; in { # Do not manage neovim via nix @@ -82,6 +87,8 @@ in symlink "${paths.dotfiles}/neovim" else ../../../../dotfiles/neovim; + home.sessionVariables.EDITOR = "nvim"; + home.packages = [ neovim neovide diff --git a/home/adrielus/tethys.nix b/home/adrielus/tethys.nix index 84f2fa6..1297778 100644 --- a/home/adrielus/tethys.nix +++ b/home/adrielus/tethys.nix @@ -4,5 +4,19 @@ ./features/desktop/xmonad.nix ./features/desktop/common/discord.nix ./features/desktop/common/zathura.nix + ./features/desktop/common/firefox.nix + ]; + + home.packages = with pkgs; [ + signal-desktop # Signal client + zoom-us # Zoom client 🤮 + obsidian # Notes + peek # GIF recorder + vlc # Video player + gimp # Image editing + libreoffice # Free office suite + + # obs-studio # video recorder + # lmms # music software ]; } diff --git a/hosts/nixos/common/global/default.nix b/hosts/nixos/common/global/default.nix index 97218eb..1261f28 100644 --- a/hosts/nixos/common/global/default.nix +++ b/hosts/nixos/common/global/default.nix @@ -11,6 +11,10 @@ ./wireless ]; + age.identityPaths = [ + "/etc/ssh/ssh_host_ed25519_key" + ]; + nixpkgs = { # Add all overlays defined in the overlays directory overlays = builtins.attrValues outputs.overlays ++ [ diff --git a/hosts/nixos/common/global/nix.nix b/hosts/nixos/common/global/nix.nix index 1470a33..fea353c 100644 --- a/hosts/nixos/common/global/nix.nix +++ b/hosts/nixos/common/global/nix.nix @@ -40,20 +40,6 @@ # TODO: what is a trusted user? trusted-users = [ "root" "@wheel" ]; - # {{{ Caching and whatnot - substituters = [ - "https://cache.nixos.org" # Default nixos cache - "https://nix-community.cachix.org" # I think I need this for neovim-nightly? - "https://cm-idris2-pkgs.cachix.org" # Idris packages - "https://danth.cachix.org" # stylix - ]; - - trusted-public-keys = [ - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "cm-idris2-pkgs.cachix.org-1:YB2oJSEsD5oMJjAESxolC2GQtE6B5I6jkWhte2gtXjk=" - "danth.cachix.org-1:wpodfSL7suXRc/rJDZZUptMa1t4MJ795hemRN0q84vI=" - ]; - # }}} }; }; } diff --git a/hosts/nixos/common/global/wireless/default.nix b/hosts/nixos/common/global/wireless/default.nix index c45bf1c..57c4d75 100644 --- a/hosts/nixos/common/global/wireless/default.nix +++ b/hosts/nixos/common/global/wireless/default.nix @@ -19,19 +19,11 @@ enable = true; group = "network"; }; - - # TODO: look into what this does - extraConfig = '' - update_config=1 - ''; }; # Ensure group exists users.groups.network = { }; - # Convenient alias for connecting to wifi - environment.shellAliases.wifi = "sudo nmcli con up id"; - # Persist imperative config # environment.persistence = { # "/persist".files = [ diff --git a/hosts/nixos/common/global/wireless/wifi_passwords.age b/hosts/nixos/common/global/wireless/wifi_passwords.age index 182addc..62d7912 100644 --- a/hosts/nixos/common/global/wireless/wifi_passwords.age +++ b/hosts/nixos/common/global/wireless/wifi_passwords.age @@ -1,7 +1,10 @@ age-encryption.org/v1 --> ssh-ed25519 UUF9JQ Qc1AgNo+N/kjGhMVHa/QDPt5nRCtuC8BvNdxuwHHKRA -ZnOW8dIH2Sd5WDlvVA27hpp5AVHieJXIpwCmtg+dcp0 --> rD3(ZZw-grease ZvlDZ7| G|:Xj NsbyfDh L\' -hZeXb1QaqOPfJKTKYdB60pMyHt6G42sIEmfzNqRI/w ---- RFPqwBq0YPAoxa/g0gEmJmWTiYH6c77ZYR0snUIx0vE -S_!s_i?>ry V|^:>LˉQ~3W O9e( ssh-ed25519 UUF9JQ q9tidRTxf+4VeDopyrO7y970Qm94iwUPsQTVK+/YGjQ +YvjmIkVFwkIUk7OhQ1MglvcNGgXna2SgRSfMJtfOAkE +-> ssh-ed25519 qgVaDQ REcJWqJalQylWOSOVJT1jAJtQp6qnbztcyxo/2BDdE8 +nnbnzYKKE99thYzXzODD/rSQggJgOV5Cl8ZniDfCsGY +-> L>-grease #efvc '0l?X`-h +F5xodFT3Tp+VpLJvE2R5PVkb43tm4VfbvTKLVIW0AuZ/wZWIedDinZx9i+gfWUsk +5U8rU6Ki3DdbOICZ +--- Cwoa81XsipVdO0hj9QeV60dYjHwEoS9FoDRSQ8/56oQ +fցLoYs5iL;Ɣ=^. ~u9ZΤu path[] - (builtins.mapAttrs # ... -> attrsetof host -> attrsetof path - (name: _: idKey name) # string -> host -> path - hosts); + openssh.authorizedKeys.keyFiles = + builtins.attrValues # attrsetof path -> path[] + (builtins.mapAttrs # ... -> attrsetof host -> attrsetof path + (name: _: idKey name) # string -> host -> path + hosts); + }; }; } diff --git a/hosts/nixos/common/users/adrielus_password.age b/hosts/nixos/common/users/adrielus_password.age index ff33936..ad65376 100644 --- a/hosts/nixos/common/users/adrielus_password.age +++ b/hosts/nixos/common/users/adrielus_password.age @@ -1,8 +1,12 @@ age-encryption.org/v1 --> ssh-ed25519 UUF9JQ AWyd+vbllVT7QeD8xfu8D4NhxEA1RxwYCKwxGIrkIEw -m7/XC6vhyhHW5vY+48bxmBsb6Zfhof+mavhq1fdpd+U --> E-grease s%$ F5jZ"f E(>8 x|#B"9 -dilxxi2WlTIReh+uvkscDubze9MyfGaW7Tn22L6p8X8YZ40muPOtVaWkgQBv1OLo -SkccszU/cr1NEJm62YOPZGnmK96MwxA/ZWnlG5Ls/my47MqymDq7/1ySWKU5xA ---- wOqvODKflq/JZT0/Qssb8FEl/IDNou+yKMGPn/nI81Q -m>Wu!N@ϋyB"GɳL'A)+)E zQ$"Z;w- \ No newline at end of file +-> ssh-ed25519 UUF9JQ BIl9Xb3n31DCiJiEVdgSrS9Q8mV+QKHIz9pbaskbZkY +umx6izgXtyrI7x15bAB+NtpezVWuI1ohtV3N9g7KSDU +-> ssh-ed25519 qgVaDQ kYRngT8940XS/6SACGO86KxNlwOLx7iZFewv+6rGRF0 ++a5xQXtda8sSBCyKPGNugfozqANpVmCzXowfC6JmleA +-> UpxQQ-grease $( d6} t4iN^ +ovdi6zgEwERhuIeRtKdKn1FPOXIovnHzueGofkQ5kbIAQRH+RSBv3L5767h+YD5m +fKThMcdEvfwr92NHHCzPPJmigMbRUtQonDu4TGnB/XrNF8xEYiri+6S41e9CMQcQ +/F7W +--- bc2aF9M+2m+ZXrGsObUCYvZEvFhVEZnKTu/T81Lka0s +Sb +c|$}ӈ&VĠ,RܙȈޡ_0Y1p(z$`;P#JXP0!8mN}B#|Úonsh \ No newline at end of file diff --git a/pkgs/default.nix b/pkgs/default.nix index b003518..1379724 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -3,4 +3,5 @@ { pkgs ? (import ../nixpkgs.nix) { } }: { # example = pkgs.callPackage (import ./example.nix) {}; + vimclip = pkgs.callPackage (import ./vimclip.nix) {}; } diff --git a/pkgs/vimclip.nix b/pkgs/vimclip.nix new file mode 100644 index 0000000..b070278 --- /dev/null +++ b/pkgs/vimclip.nix @@ -0,0 +1,27 @@ +{ pkgs, ... }: +pkgs.stdenv.mkDerivation rec { + name = "vimclip"; + rev = "7f53433"; + + src = pkgs.fetchFromGitHub { + inherit rev; + owner = "hrantzsch"; + repo = "vimclip"; + sha256 = "cl5y7Lli5frwx823hoN17B2aQLNY7+njmKEDdIbhc4Y="; + }; + + buildInputs = [ + pkgs.makeWrapper + ]; + + installPhase = '' + mkdir -p $out/bin + cp ./vimclip $out/bin/vimclip + chmod +x $out/bin/vimclip + ''; + + postFixup = '' + wrapProgram $out/bin/vimclip \ + --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.xsel ]} \ + ''; +} diff --git a/secrets.nix b/secrets.nix index 7265c14..1834749 100644 --- a/secrets.nix +++ b/secrets.nix @@ -1,8 +1,12 @@ let adrielus = builtins.readFile ./hosts/nixos/tethys/id_ed25519.pub; + tethys = builtins.readFile ./hosts/nixos/tethys/ssh_host_ed25519_key.pub; in { - "./hosts/nixos/common/global/wireless/wifi_passwords.age".publicKeys = [ adrielus ]; - "./hosts/nixos/common/users/adrielus_password.age".publicKeys = [ adrielus ]; + # Scoped for entire systems + "./hosts/nixos/common/global/wireless/wifi_passwords.age".publicKeys = [ adrielus tethys ]; + "./hosts/nixos/common/users/adrielus_password.age".publicKeys = [ adrielus tethys ]; + + # Scoped for the user "./home/adrielus/features/desktop/common/wakatime/wakatime_config.age".publicKeys = [ adrielus ]; }