1
Fork 0

A billion changes, but I'm finally on this new config!

This commit is contained in:
Matei Adriel 2023-01-12 20:49:08 +01:00
parent 8b12288df6
commit c211604042
No known key found for this signature in database
29 changed files with 338 additions and 163 deletions

View file

@ -28,3 +28,26 @@ Here's some things you might want to check out:
- My [neovim config](./dotfiles/neovim) - My [neovim config](./dotfiles/neovim)
- The [flake](./flake.nix) entrypoint for this repository - 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

View file

@ -5,7 +5,7 @@ local M = {
function M.config() function M.config()
local catppuccin = require("catppuccin") 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 } }) catppuccin.setup({ transparent_background = false, integrations = { nvimtree = true } })

View file

@ -12,6 +12,12 @@ return {
cond = env.vscode.not_active(), cond = env.vscode.not_active(),
}, },
{
"Fymyte/rasi.vim",
ft = "rasi",
cond = env.vscode.not_active(),
},
{ {
"teal-language/vim-teal", "teal-language/vim-teal",
ft = "teal", ft = "teal",

View file

@ -85,6 +85,7 @@
home-manager.extraSpecialArgs = specialArgs; home-manager.extraSpecialArgs = specialArgs;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
} }
./hosts/nixos/tethys ./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="
];
};
# }}}
} }

View file

@ -23,5 +23,6 @@
neofetch # Display system information neofetch # Display system information
unzip # For working with .zip files unzip # For working with .zip files
unrar # For extracting shit from rars unrar # For extracting shit from rars
sloc # Useless but fun line of code counter
]; ];
} }

View file

@ -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/";
};
};
}

View file

@ -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";
};
};
};
}

View file

@ -17,15 +17,15 @@ in
enable = true; enable = true;
extraConfig = '' extraConfig = ''
; Generated theme ; Generated theme
include-file = ${config.scheme base16-polybar} ${builtins.readFile (config.scheme base16-polybar)}
; Consistent fonts ; Consistent fonts
[fonts] [fonts]
regular = ${config.fontProfiles.regular.family} regular = "${config.fontProfiles.regular.family}"
monospace = ${config.fontProfiles.monospace.family} monospace = "${config.fontProfiles.monospace.family}"
; Actual config ; Actual config
include-file = ${./polybar.ini} ${builtins.readFile ./polybar.ini}
''; '';
}; };

View file

@ -73,13 +73,13 @@ icon-default = 
format = <label-state> format = <label-state>
label-active = %icon% label-active = %icon%
label-active-background = ${color.base05} label-active-background = ${colors.base05}
label-active-foreground = ${color.base00} label-active-foreground = ${colors.base00}
label-active-padding = 2 label-active-padding = 2
label-urgent = %icon% label-urgent = %icon%
label-urgent-background = ${color.base09} label-urgent-background = ${colors.base09}
label-urgent-foreground = ${color.base00} label-urgent-foreground = ${colors.base00}
label-urgent-padding = 2 label-urgent-padding = 2
label-occupied = %icon% label-occupied = %icon%
@ -88,7 +88,7 @@ label-occupied-padding = 2
label-empty = label-empty =
[bar/main] [bar/main]
font-0 = ${fonts.monospace}:style=Regular font-0 = ${fonts.monospace}
modules-left = date battery modules-left = date battery
modules-center = ewmh modules-center = ewmh
@ -102,9 +102,9 @@ module-margin = 2
height=4% height=4%
border-top-size = 1 border-top-size = 1
border-top-color = ${color.base05} border-top-color= ${colors.base05}
background = ${color.base00} background = ${colors.base00}
foreground = ${color.base05} foreground = ${colors.base05}
bottom = true bottom = true

View file

@ -12,84 +12,10 @@ configuration {
display-run: "  Run "; display-run: "  Run ";
display-window: " 﩯 Window"; display-window: " 﩯 Window";
display-Network: " 󰤨 Network"; display-Network: " 󰤨 Network";
sidebar-mode: true;
}
listview {
columns: 1;
}
* {
width: 600;
}
element-text, element-icon , mode-switcher {
background-color: inherit;
text-color: inherit;
} }
window { window {
border: 3px; border: 3px;
height: 50%; height: 50%;
width: 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;
}

View file

@ -16,7 +16,7 @@ in
// Inject font // Inject font
configuration { configuration {
font = ${config.fontProfiles.monospace.family}; font: "${config.fontProfiles.monospace.family}";
} }
// Theme // Theme

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

View file

@ -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);
}

View file

@ -0,0 +1,3 @@
{
home.file.".background-image".source = ./wallpapers/wall.png;
}

View file

@ -1,3 +1,17 @@
{ { pkgs, ... }: {
imports = [ ./common/rofi ./common/polybar ./common/fonts.nix ]; 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
];
} }

View file

@ -43,8 +43,8 @@ let
extraRuntime = [ extraRuntime = [
(if devMode (if devMode
then symlink "${paths.dotfiles}/vscode-snippets" then symlink "${paths.dotfiles}/vscode-snippets"
else ../../../../dotfiles/vscode-snippets) else ../../../../dotfiles/vscode-snippets)
]; ];
# Wraps a neovim client, providing the dependencies # Wraps a neovim client, providing the dependencies
@ -57,7 +57,7 @@ let
# - NVIM_EXTRA_RUNTIME provides extra directories to add to the runtimepath. # - NVIM_EXTRA_RUNTIME provides extra directories to add to the runtimepath.
# I cannot just install those dirs using the builtin package support because # I cannot just install those dirs using the builtin package support because
# my package manager (lazy.nvim) disables those. # my package manager (lazy.nvim) disables those.
wrapClient = { base, name }: wrapClient = { base, name, extraArgs ? "" }:
pkgs.symlinkJoin { pkgs.symlinkJoin {
inherit (base) name meta; inherit (base) name meta;
paths = [ base ]; paths = [ base ];
@ -66,12 +66,17 @@ let
wrapProgram $out/bin/${name} \ wrapProgram $out/bin/${name} \
--prefix PATH : ${lib.makeBinPath extraPackages} \ --prefix PATH : ${lib.makeBinPath extraPackages} \
--set INSIDE_NEOVIDE ${if name == "neovide" then "1" else "0"} \ --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"; }; 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 in
{ {
# Do not manage neovim via nix # Do not manage neovim via nix
@ -82,6 +87,8 @@ in
symlink "${paths.dotfiles}/neovim" else symlink "${paths.dotfiles}/neovim" else
../../../../dotfiles/neovim; ../../../../dotfiles/neovim;
home.sessionVariables.EDITOR = "nvim";
home.packages = [ home.packages = [
neovim neovim
neovide neovide

View file

@ -4,5 +4,19 @@
./features/desktop/xmonad.nix ./features/desktop/xmonad.nix
./features/desktop/common/discord.nix ./features/desktop/common/discord.nix
./features/desktop/common/zathura.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
]; ];
} }

View file

@ -11,6 +11,10 @@
./wireless ./wireless
]; ];
age.identityPaths = [
"/etc/ssh/ssh_host_ed25519_key"
];
nixpkgs = { nixpkgs = {
# Add all overlays defined in the overlays directory # Add all overlays defined in the overlays directory
overlays = builtins.attrValues outputs.overlays ++ [ overlays = builtins.attrValues outputs.overlays ++ [

View file

@ -40,20 +40,6 @@
# TODO: what is a trusted user? # TODO: what is a trusted user?
trusted-users = [ "root" "@wheel" ]; 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="
];
# }}}
}; };
}; };
} }

View file

@ -19,19 +19,11 @@
enable = true; enable = true;
group = "network"; group = "network";
}; };
# TODO: look into what this does
extraConfig = ''
update_config=1
'';
}; };
# Ensure group exists # Ensure group exists
users.groups.network = { }; users.groups.network = { };
# Convenient alias for connecting to wifi
environment.shellAliases.wifi = "sudo nmcli con up id";
# Persist imperative config # Persist imperative config
# environment.persistence = { # environment.persistence = {
# "/persist".files = [ # "/persist".files = [

View file

@ -1,7 +1,10 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 UUF9JQ Qc1AgNo+N/kjGhMVHa/QDPt5nRCtuC8BvNdxuwHHKRA -> ssh-ed25519 UUF9JQ q9tidRTxf+4VeDopyrO7y970Qm94iwUPsQTVK+/YGjQ
ZnOW8dIH2Sd5WDlvVA27hpp5AVHieJXIpwCmtg+dcp0 YvjmIkVFwkIUk7OhQ1MglvcNGgXna2SgRSfMJtfOAkE
-> rD3(ZZw-grease ZvlDZ7| G|:Xj NsbyfDh L\' -> ssh-ed25519 qgVaDQ REcJWqJalQylWOSOVJT1jAJtQp6qnbztcyxo/2BDdE8
hZeXb1QaqOPfJKTKYdB60pMyHt6G42sIEmfzNqRI/w nnbnzYKKE99thYzXzODD/rSQggJgOV5Cl8ZniDfCsGY
--- RFPqwBq0YPAoxa/g0gEmJmWTiYH6c77ZYR0snUIx0vE -> L>-grease #efvc '0l?X`-h
æÀµÞêS©_!…º™s¥_i?·><3E>ËÉry <0C>V|ŽÞ^­ò:…ó>¯ÍúLˉQÃ~æð€<19>3W® O9eÛ(•æ<ÈyŒC JòÇRqrù F5xodFT3Tp+VpLJvE2R5PVkb43tm4VfbvTKLVIW0AuZ/wZWIedDinZx9i+gfWUsk
5U8rU6Ki3DdbOICZ
--- Cwoa81XsipVdO0hj9QeV60dYjHwEoS9FoDRSQ8/56oQ
èý£¯föÖ<EFBFBD>LoYs5ià¥L;”³ñÆ”=íú^.ôü»ŠÄ§˜Ö ˆ9ÅZΤøÓu¼</¶U¦ý5«X~±DíØ \moG

View file

@ -44,7 +44,7 @@ main =
("M-w", spawn "rofi -show window"), ("M-w", spawn "rofi -show window"),
("M-g", spawn myBrowser), ("M-g", spawn myBrowser),
("M-d", spawn "Discord"), ("M-d", spawn "Discord"),
("M-v", spawn "alacritty -e vimclip"), ("M-v", spawn "alacritty -e 'vimclip'"),
("M-s", spawn "spectacle -rcb"), ("M-s", spawn "spectacle -rcb"),
("M-S-s", spawn "spectacle -mcb"), ("M-S-s", spawn "spectacle -mcb"),
("M-C-s", spawn "spectacle -ucb"), ("M-C-s", spawn "spectacle -ucb"),
@ -61,11 +61,11 @@ main =
layouts = tall ||| Full layouts = tall ||| Full
myLayoutHook = spacingHook layouts myLayoutHook = spacingHook layouts
startupApps = startupApps = []
[ (0, "alacritty"), -- [ (0, "alacritty"),
(1, "google-chrome-stable"), -- (1, "google-chrome-stable"),
(2, "Discord") -- (2, "Discord")
] -- ]
startup :: X () startup :: X ()
startup = do startup = do

View file

@ -1,14 +1,4 @@
{ pkgs, ... }: { pkgs, ... }:
let
catpuccin-sddm = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "sddm";
sha256 = "1lg10dyxgz080qfcp6k3zk6374jlj067s6p5fgx5r135ivy8mrki";
rev = "bde6932e1ae0f8fdda76eff5c81ea8d3b7d653c0";
};
sddm-theme = "${catpuccin-sddm}/src/caputccin-latte";
in
{ {
services.xserver = { services.xserver = {
enable = true; enable = true;
@ -20,18 +10,17 @@ in
config = ./Main.hs; config = ./Main.hs;
}; };
# Proper wallpaper zooming
desktopManager.wallpaper.mode = "fill";
displayManager = { displayManager = {
# make xmonad session the default # make xmonad session the default
defaultSession = "none+xmonad"; defaultSession = "none+xmonad";
# enable sddm
# sddm = {
# enable = true;
# theme = sddm-theme;
# };
# enable startx # enable startx
startx.enable = true; # startx.enable = true;
sddm.enable = true;
# autoLogin = { # autoLogin = {
# enable = true; # enable = true;

View file

@ -1,4 +1,4 @@
{ pkgs, config, ... }: { pkgs, outputs, config, ... }:
let let
# Record containing all the hosts # Record containing all the hosts
hosts = outputs.nixosConfigurations; hosts = outputs.nixosConfigurations;
@ -10,12 +10,23 @@ in
# Password file stored through agenix # Password file stored through agenix
age.secrets.adrielusPassword.file = ./adrielus_password.age; age.secrets.adrielusPassword.file = ./adrielus_password.age;
# Temporary stuff until I package my keyboard script
users.groups.uinput = { };
services.udev.extraRules =
''
# Access to /dev/uinput
KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
'';
users = { users = {
# Configure users through nix only # Configure users through nix only
mutableUsers = false; mutableUsers = false;
# Create an user named adrielus # Create an user named adrielus
users.adrielus = { users.adrielus = {
# Make fish the default shell
shell = pkgs.fish;
# File containing my password, managed by agenix # File containing my password, managed by agenix
passwordFile = config.age.secrets.adrielusPassword.path; passwordFile = config.age.secrets.adrielusPassword.path;
@ -28,21 +39,22 @@ in
"docker" # Allows me to use docker (?) "docker" # Allows me to use docker (?)
"audio" # Allows me to use audio devices "audio" # Allows me to use audio devices
"video" # Allows me to use a webcam "video" # Allows me to use a webcam
"uinput" # I think this let's me write to virtual devices
"input" # Does this let me use evdev (?)
# TODO: find out why I added these here a long time ago # TODO: find out why I added these here a long time ago
"sound" "sound"
"input"
"tty" "tty"
]; ];
# Adds me to some default groups, and creates the home dir # Adds me to some default groups, and creates the home dir
isNormalUser = true; isNormalUser = true;
};
openssh.authorizedKeys.keyFiles = openssh.authorizedKeys.keyFiles =
builtins.attrValues # attrsetof path -> path[] builtins.attrValues # attrsetof path -> path[]
(builtins.mapAttrs # ... -> attrsetof host -> attrsetof path (builtins.mapAttrs # ... -> attrsetof host -> attrsetof path
(name: _: idKey name) # string -> host -> path (name: _: idKey name) # string -> host -> path
hosts); hosts);
};
}; };
} }

View file

@ -1,8 +1,12 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 UUF9JQ AWyd+vbllVT7QeD8xfu8D4NhxEA1RxwYCKwxGIrkIEw -> ssh-ed25519 UUF9JQ BIl9Xb3n31DCiJiEVdgSrS9Q8mV+QKHIz9pbaskbZkY
m7/XC6vhyhHW5vY+48bxmBsb6Zfhof+mavhq1fdpd+U umx6izgXtyrI7x15bAB+NtpezVWuI1ohtV3N9g7KSDU
-> E-grease s%$ F5jZ"f E(>8 x|#B"9 -> ssh-ed25519 qgVaDQ kYRngT8940XS/6SACGO86KxNlwOLx7iZFewv+6rGRF0
dilxxi2WlTIReh+uvkscDubze9MyfGaW7Tn22L6p8X8YZ40muPOtVaWkgQBv1OLo +a5xQXtda8sSBCyKPGNugfozqANpVmCzXowfC6JmleA
SkccszU/cr1NEJm62YOPZGnmK96MwxA/ZWnlG5Ls/my47MqymDq7/1ySWKU5xA -> UpxQQ-grease $( d6} t4iN^
--- wOqvODKflq/JZT0/Qssb8FEl/IDNou+yKMGPn/nI81Q ovdi6zgEwERhuIeRtKdKn1FPOXIovnHzueGofkQ5kbIAQRH+RSBv3L5767h+YD5m
m>W¨u!ĚNą@˝ĎĎyB"űGÉłĆL'A)+)áĆE zQü$Ł"Z;w- fKThMcdEvfwr92NHHCzPPJmigMbRUtQonDu4TGnB/XrNF8xEYiri+6S41e9CMQcQ
/F7W
--- bc2aF9M+2m+ZXrGsObUCYvZEvFhVEZnKTu/T81Lka0s
€Sï±ÙbÅ
ÔÚÐc•|$ô}Óˆ<CB86>Á&VÄ ·,RÜ™»Èˆˆ·Þ¡à_0Y Ä1÷pœ(„òÄz‡˜œ¦$`;P#JXÿŠPÆ0£¬ºŒï!Šè8mN}B#½ÅÓô|ÚoönsŒh

View file

@ -3,4 +3,5 @@
{ pkgs ? (import ../nixpkgs.nix) { } }: { { pkgs ? (import ../nixpkgs.nix) { } }: {
# example = pkgs.callPackage (import ./example.nix) {}; # example = pkgs.callPackage (import ./example.nix) {};
vimclip = pkgs.callPackage (import ./vimclip.nix) {};
} }

27
pkgs/vimclip.nix Normal file
View file

@ -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 ]} \
'';
}

View file

@ -1,8 +1,12 @@
let let
adrielus = builtins.readFile ./hosts/nixos/tethys/id_ed25519.pub; adrielus = builtins.readFile ./hosts/nixos/tethys/id_ed25519.pub;
tethys = builtins.readFile ./hosts/nixos/tethys/ssh_host_ed25519_key.pub;
in in
{ {
"./hosts/nixos/common/global/wireless/wifi_passwords.age".publicKeys = [ adrielus ]; # Scoped for entire systems
"./hosts/nixos/common/users/adrielus_password.age".publicKeys = [ adrielus ]; "./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 ]; "./home/adrielus/features/desktop/common/wakatime/wakatime_config.age".publicKeys = [ adrielus ];
} }