Shiny cherrypicks from teutat3s branch #231

Merged
b12f merged 13 commits from main-cherrypick-from-teutat3s into main 2023-07-13 14:15:06 +00:00
17 changed files with 120 additions and 184 deletions

View file

@ -30,11 +30,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1686307493, "lastModified": 1688307440,
"narHash": "sha256-R4VEFnDn7nRmNxAu1LwNbjns5DPM8IBsvnrWmZ8ymPs=", "narHash": "sha256-7PTjbN+/+b799YN7Tk2SS5Vh8A0L3gBo8hmB7Y0VXug=",
"owner": "LnL7", "owner": "LnL7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "7c16d31383a90e0e72ace0c35d2d66a18f90fb4f", "rev": "b06bab83bdf285ea0ae3c8e145a081eb95959047",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,11 +54,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1685948350, "lastModified": 1686747123,
"narHash": "sha256-1FldJ059so0X/rScdbIiOlQbjjSNCCTdj2cUr5pHU4A=", "narHash": "sha256-XUQK9kwHpTeilHoad7L4LjMCCyY13Oq383CoFADecRE=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "65211db63ba1199f09b4c9f27e5eba5ec50d76ac", "rev": "724463b5a94daa810abfc64a4f87faef4e00f984",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -202,11 +202,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1687171271,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401", "rev": "abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -222,11 +222,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1686582345, "lastModified": 1687871164,
"narHash": "sha256-z4wLfa++k1d7Y/tQpQYub1D0K0OO9Wju0FZ8U53KUE0=", "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e753d659c64c7d158433d87ef7d6151ca1d1817a", "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -236,13 +236,34 @@
"type": "github" "type": "github"
} }
}, },
"home-manager": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1682203081,
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"latest": { "latest": {
"locked": { "locked": {
"lastModified": 1686501370, "lastModified": 1688231357,
"narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", "narHash": "sha256-ZOn16X5jZ6X5ror58gOJAxPfFLAQhZJ6nOUeS4tfFwo=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", "rev": "645ff62e09d294a30de823cb568e9c6d68e92606",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -254,11 +275,11 @@
}, },
"nixos": { "nixos": {
"locked": { "locked": {
"lastModified": 1686431482, "lastModified": 1688109178,
"narHash": "sha256-oPVQ/0YP7yC2ztNsxvWLrV+f0NQ2QAwxbrZ+bgGydEM=", "narHash": "sha256-BSdeYp331G4b1yc7GIRgAnfUyaktW2nl7k0C577Tttk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d3bb401dcfc5a46ce51cdfb5762e70cc75d082d2", "rev": "b72aa95f7f096382bff3aea5f8fde645bca07422",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -270,11 +291,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1686452266, "lastModified": 1686838567,
"narHash": "sha256-zLKiX0iu6jZFeZDpR1gE6fNyMr8eiM8GLnj9SoUCjFs=", "narHash": "sha256-aqKCUD126dRlVSKV6vWuDCitfjFrZlkwNuvj5LtjRRU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "2a807ad6e8dc458db08588b78cc3c0f0ec4ff321", "rev": "429f232fe1dc398c5afea19a51aad6931ee0fb89",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -310,11 +331,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1685158767, "lastModified": 1687440270,
"narHash": "sha256-vgyu3jsnGDDAEYg4y/oFk2IaTCXUlce0ZaLtQprhmFk=", "narHash": "sha256-aOAXvfVn+MBSkU+xlQEiyoGpRaF6NvQdpWIhw5OH/Dc=",
"owner": "berberman", "owner": "berberman",
"repo": "nvfetcher", "repo": "nvfetcher",
"rev": "c5ae2cb436a04f4590306589e71638d023a33bd4", "rev": "44196458acc2c28c32e456c50277d6148e71e708",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -65,11 +65,10 @@
nixos = { nixos = {
imports = [(digga.lib.importOverlays ./overlays)]; imports = [(digga.lib.importOverlays ./overlays)];
overlays = [ overlays = [
deploy.overlay
(self: super: { (self: super: {
deploy-rs = { deploy-rs = {
inherit (inputs.nixos.legacyPackages.x86_64-linux) deploy-rs; inherit (inputs.nixos.legacyPackages.x86_64-linux) deploy-rs;
lib = super.deploy-rs.lib; lib = inputs.deploy.lib.x86_64-linux;
}; };
}) })
]; ];
@ -171,7 +170,7 @@
# profilesOrder = ["system" "direnv"]; # profilesOrder = ["system" "direnv"];
# profiles.direnv = { # profiles.direnv = {
# user = "bartender"; # user = "bartender";
# path = self.channels.nixos.deploy-rs.lib.x86_64-linux.activate.home-manager self.homeConfigurationsPortable.x86_64-linux.bartender; # path = self.pkgs.x86_64-linux.nixos.deploy-rs.lib.x86_64-linux.activate.home-manager self.homeConfigurationsPortable.x86_64-linux.bartender;
# }; # };
#}; #};
}; };

View file

@ -1,12 +0,0 @@
{
config,
pkgs,
lib,
...
}:
with lib; {
# Both things below are for
# https://github.com/NixOS/nixpkgs/issues/124215
documentation.info.enable = lib.mkForce false;
nix.settings.extra-sandbox-paths = ["/bin/sh=${pkgs.bash}/bin/sh"];
}

View file

@ -19,7 +19,7 @@ in {
# Run when initializing an interactive shell # Run when initializing an interactive shell
initExtra = '' initExtra = ''
# Show current directory at the top in Alacritty # Show current directory at the top in Alacritty
PROMPT_COMMAND='echo -e -n "\e]2;$(basename "$PWD")\e\\"' PROMPT_COMMAND='echo -e -n "\e]2;$(basename "$PWD" | sed "s/${psCfg.user.name}/~/")\e\\"'
# If a command is not found, show me where it is # If a command is not found, show me where it is
source ${pkgs.nix-index}/etc/profile.d/command-not-found.sh source ${pkgs.nix-index}/etc/profile.d/command-not-found.sh
@ -34,7 +34,7 @@ in {
# Syntax highlighting, auto suggestions, vim modes, etc. # Syntax highlighting, auto suggestions, vim modes, etc.
# https://github.com/akinomyoga/ble.sh/wiki/Manual-A1-Installation#user-content-nixpkgs # https://github.com/akinomyoga/ble.sh/wiki/Manual-A1-Installation#user-content-nixpkgs
source "$(blesh-share)" --attach=none source "$(blesh-share)"/ble.sh --attach=none
# ctrl + space to accept autocomplete suggestion # ctrl + space to accept autocomplete suggestion
ble-bind -m 'auto_complete' -f 'C-@' 'auto_complete/insert-on-end' ble-bind -m 'auto_complete' -f 'C-@' 'auto_complete/insert-on-end'
# Meta (Alt) + Backspace to delete a word # Meta (Alt) + Backspace to delete a word
@ -59,6 +59,7 @@ in {
} }
blehook/eval-after-load complete my/complete-load-hook blehook/eval-after-load complete my/complete-load-hook
bleopt exec_elapsed_mark=
bleopt exec_errexit_mark= bleopt exec_errexit_mark=
bleopt filename_ls_colors="$LS_COLORS" bleopt filename_ls_colors="$LS_COLORS"
@ -84,6 +85,11 @@ in {
fi fi
# end of .bashrc # end of .bashrc
# Somehow we need to ensure starship starts later than ble.sh
# (possible packaging issue?)
# https://github.com/akinomyoga/ble.sh/issues/333
eval "$(${pkgs.starship}/bin/starship init bash)"
[[ ''${BLE_VERSION-} ]] && ble-attach [[ ''${BLE_VERSION-} ]] && ble-attach
''; '';

View file

@ -10,8 +10,5 @@
"--color=fg:#d3d1d4,header:#7accd7,info:#e5c463,pointer:#ef9062" "--color=fg:#d3d1d4,header:#7accd7,info:#e5c463,pointer:#ef9062"
"--color=marker:#ef9062,fg+:#303030,prompt:#e5c463,hl+:#7accd7" "--color=marker:#ef9062,fg+:#303030,prompt:#e5c463,hl+:#7accd7"
]; ];
# Use ble.sh for completions, see enableBashIntegration = true;
# modules/terminal-life/bash/default.nix -> bleopt complete_menu_style=desc
# and https://github.com/akinomyoga/ble.sh/wiki/Manual-%C2%A77-Completion
enableBashIntegration = false;
} }

View file

@ -5,8 +5,8 @@
let g:clipboard = { let g:clipboard = {
\ 'name': 'wayland-strip-carriage', \ 'name': 'wayland-strip-carriage',
\ 'copy': { \ 'copy': {
\ '+': 'wl-copy --foreground --type text/plain', \ '+': 'wl-copy --foreground --type text/plain --trim-newline',
\ '*': 'wl-copy --foreground --type text/plain --primary', \ '*': 'wl-copy --foreground --type text/plain --primary --trim-newline',
Outdated
Review

Does this mean that a <leader>yy will yank the line without newline? Because I'd vote against that.

Does this mean that a `<leader>yy` will yank the line without newline? Because I'd vote against that.

I don't use <leader>yy so no clue 🤷

My use case is using shift+v to select a whole line in neovim, then <leader>y to copy the line and pasting that line to a terminal. I don't want the final newline that gets added without this change. Maybe there's a compromise possible?

I don't use `<leader>yy` so no clue 🤷 My use case is using `shift+v` to select a whole line in neovim, then `<leader>y` to copy the line and pasting that line to a terminal. I don't want the final newline that gets added without this change. Maybe there's a compromise possible?
\ }, \ },
\ 'paste': { \ 'paste': {
\ '+': {-> systemlist('wl-paste --no-newline | tr -d "\r"')}, \ '+': {-> systemlist('wl-paste --no-newline | tr -d "\r"')},

View file

@ -25,6 +25,7 @@ in {
ansible-language-server ansible-language-server
ccls ccls
gopls gopls
nixd
nodejs nodejs
nodePackages.bash-language-server nodePackages.bash-language-server
nodePackages.dockerfile-language-server-nodejs nodePackages.dockerfile-language-server-nodejs
@ -37,9 +38,8 @@ in {
nodePackages.yaml-language-server nodePackages.yaml-language-server
python3Packages.python-lsp-server python3Packages.python-lsp-server
python3Full python3Full
solargraph
rnix-lsp
rust-analyzer rust-analyzer
solargraph
terraform-ls terraform-ls
universal-ctags universal-ctags
]; ];

View file

@ -122,9 +122,9 @@ lua <<EOF
} }
} }
}, },
'nixd', --------------------------------- Nix
'phpactor', ----------------------------- PHP 'phpactor', ----------------------------- PHP
'pylsp', -------------------------------- Python 'pylsp', -------------------------------- Python
'rnix', --------------------------------- Nix
'solargraph', --------------------------- Ruby 'solargraph', --------------------------- Ruby
'rust_analyzer', ------------------------ Rust 'rust_analyzer', ------------------------ Rust
['sqlls'] = { ['sqlls'] = {

View file

@ -1,5 +1,32 @@
final: prev: { final: prev: {
blesh = prev.blesh.overrideAttrs (oldAttrs: rec { blesh = prev.blesh.overrideAttrs (oldAttrs: rec {
inherit (prev.sources.blesh-nvfetcher) version src; inherit (prev.sources.blesh-nvfetcher) version src;
dontBuild = false;
buildInputs = [prev.git];
patchPhase = ''
substituteInPlace GNUmakefile \
--replace "git submodule update --init --recursive" ""
'';
nativeCheckInputs = oldAttrs.nativeCheckInputs ++ [prev.busybox];
installPhase = ''
runHook preInstall
mkdir -p "$out/share/blesh/lib"
cat <<EOF >"$out/share/blesh/lib/_package.sh"
_ble_base_package_type=nix
function ble/base/package:nix/update {
echo "Ble.sh is installed by Nix. You can update it there." >&2
return 1
}
EOF
make install INSDIR=$out/share/blesh
runHook postInstall
'';
}); });
} }

View file

@ -3,6 +3,7 @@ channels: final: prev: {
inherit inherit
(channels.latest) (channels.latest)
nixd
; ;
haskellPackages = haskellPackages =
@ -18,4 +19,6 @@ channels: final: prev: {
; ;
}); });
}); });
vimPlugins = prev.vimPlugins // {inherit (channels.latest.vimPlugins) nvim-lspconfig;};
} }

View file

@ -3,17 +3,17 @@
{ {
blesh-nvfetcher = { blesh-nvfetcher = {
pname = "blesh-nvfetcher"; pname = "blesh-nvfetcher";
version = "f16c0d807c8e1fe26fa5d990b561829382cbdc72"; version = "1afc616b890e487926897e5b3e3a33e0ad833cb3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "akinomyoga"; owner = "akinomyoga";
repo = "ble.sh"; repo = "ble.sh";
rev = "f16c0d807c8e1fe26fa5d990b561829382cbdc72"; rev = "1afc616b890e487926897e5b3e3a33e0ad833cb3";
fetchSubmodules = true; fetchSubmodules = true;
deepClone = false; deepClone = false;
leaveDotGit = true; leaveDotGit = true;
sha256 = "sha256-+tcM1z9uD7WXA7CfHmTbcPRcZfmXZ+Y7y6Bj4QA3f+4="; sha256 = "sha256-gDxx7nDleS2HWIJWc208gcTzuRUEu/JCyepTuOJDAGo=";
}; };
date = "2023-06-12"; date = "2023-06-29";
}; };
instant-nvim-nvfetcher = { instant-nvim-nvfetcher = {
pname = "instant-nvim-nvfetcher"; pname = "instant-nvim-nvfetcher";
@ -111,16 +111,4 @@
}; };
date = "2022-07-03"; date = "2022-07-03";
}; };
waybar-nvfetcher = {
pname = "waybar-nvfetcher";
version = "41164905351436db3a124207261f9dd759c6fa1b";
src = fetchFromGitHub {
owner = "Alexays";
repo = "Waybar";
rev = "41164905351436db3a124207261f9dd759c6fa1b";
fetchSubmodules = false;
sha256 = "sha256-aogiOj4pe2AJYxQFh8Dw6xQ2Tb6v4W9zwbGX4t2mStI=";
};
date = "2023-06-27";
};
} }

View file

@ -31,10 +31,6 @@ fetch.github = "zeekay/vim-beautify"
src.git = "https://github.com/romainl/Apprentice" src.git = "https://github.com/romainl/Apprentice"
fetch.github = "romainl/Apprentice" fetch.github = "romainl/Apprentice"
[waybar-nvfetcher]
src.git = "https://github.com/Alexays/Waybar"
fetch.github = "Alexays/Waybar"
[blesh-nvfetcher] [blesh-nvfetcher]
src.git = "https://github.com/akinomyoga/ble.sh" src.git = "https://github.com/akinomyoga/ble.sh"
fetch.github = "akinomyoga/ble.sh" fetch.github = "akinomyoga/ble.sh"

View file

@ -1,6 +1,7 @@
self: self:
with self; '' with self; ''
#!/usr/bin/env bash #!/usr/bin/env bash
# terminal application launcher for sway, using fzf
# original command: # original command:
# Based on: https://github.com/swaywm/sway/issues/1367 # Based on: https://github.com/swaywm/sway/issues/1367
# bindsym $altkey+space exec termite --name=launcher -e \ # bindsym $altkey+space exec termite --name=launcher -e \

View file

@ -1,111 +0,0 @@
*
!*.nix
!/.gitignore
!/.zshrc
!/.Xdefaults
!/.Xresources
!/.xinitrc
!/.config
!/assets
!/assets/wallpaper.jpg
!/.config/dircolors
!/.config/xmodmap
!/.config/environment.d
!/.config/environment.d/profile.conf
!/.config/environment.d/drone.conf
!/.config/environment.d/restic.conf
!/.config/user-dirs.dirs
!/.config/user-dirs.locale
!/.config/gtk-2.0
!/.config/gtk-2.0/gtkrc
!/.config/gtk-3.0
!/.config/gtk-3.0/settings.ini
!/.config/xsettingsd
!/.config/xsettingsd/xsettingsd.conf
!/.config/mako
!/.config/mako/config
!/.config/alacritty
!/.config/alacritty/alacritty.yml
!/.config/git
!/.config/git/config
!/.config/vifm
!/.config/vifm/vifmrc
!/.config/vifm/scripts
!/.config/vifm/colors
!/.config/vifm/colors/base16.vifm
!/.config/nvim
!/.config/nvim/init.vim
!/.config/nvim/clipboard.vim
!/.config/nvim/lsp.vim
!/.config/nvim/quickfixopenall.vim
!/.config/nvim/ui.vim
!/.config/mimeapps.list
!/.config/libinput-gestures.conf
!/.config/sway
!/.config/sway/config
!/.config/sway/config.d
!/.config/sway/config.d/applications.conf
!/.config/sway/config.d/autostart.conf
!/.config/sway/config.d/colorscheme.conf
!/.config/sway/config.d/custom-keybindings.conf
!/.config/sway/config.d/gaps.conf
!/.config/sway/config.d/input-defaults.conf
!/.config/sway/config.d/systemd.conf
!/.config/sway/config.d/theme.conf
!/.config/sway/config.d/biolimo
!/.config/sway/config.d/biolimo/screens.conf
!/.config/sway/config.d/biolimo/inputs.conf
!/.config/sway/config.d/chocolatebar
!/.config/sway/config.d/chocolatebar/screens.conf
!/.config/waybar
!/.config/waybar/colorscheme.css
!/.config/waybar/config
!/.config/waybar/style.css
!/.config/mutt
!/.config/mutt/muttrc
!/.config/mutt/base16.muttrc
!/.config/mutt/mailcap
!/.config/offlineimap
!/.config/offlineimap/functions.py
!/.local
!/.local/bin
!/.local/bin/install-base
!/.local/bin/swaylock-bg
!/.local/bin/sway-launcher
!/.local/bin/sway-service
!/.local/bin/toggle-kbd-layout
!/.local/bin/wcwd
!/.local/bin/vifmrun
!/.local/bin/vifmimg
!/.local/bin/s
!/.local/bin/windows
!/.local/bin/import-gtk-settings
!/.local/bin/mailto-mutt
!/.local/bin/setup-host-conf
!/.local/bin/steam-xdg
!/.local/share
!/.local/share/applications
!/.local/share/applications/userapp-Firefox.desktop

View file

@ -21,11 +21,12 @@ in {
isNormalUser = true; isNormalUser = true;
description = psCfg.user.description; description = psCfg.user.description;
extraGroups = [ extraGroups = [
"wheel"
"input" "input"
"networkmanager"
"lp" "lp"
"networkmanager"
"scanner" "scanner"
"video"
"wheel"
]; ];
initialHashedPassword = initialHashedPassword =
if psCfg.user.password != null if psCfg.user.password != null

View file

@ -27,6 +27,16 @@ in {
programs.dircolors.enable = true; programs.dircolors.enable = true;
programs.less = {
enable = true;
keys = ''
k forw-line
i back-line
K forw-scroll
I back-scroll
'';
};
home.file."xinitrc".source = ./.xinitrc; home.file."xinitrc".source = ./.xinitrc;
xdg.enable = true; xdg.enable = true;

View file

@ -8,8 +8,18 @@ else
fi fi
# Stash only unstaged changes, keeping staged changes # Stash only unstaged changes, keeping staged changes
# We have to stash two times, because:
# --keep-index also stashes the staged changes.
# The staged changes end up in both the stage AND the stash.
# https://overflow.hostux.net/questions/7650797/how-to-stash-only-unstaged-changes-in-git#60875082
old_stash=$(git rev-parse --quiet --verify refs/stash) old_stash=$(git rev-parse --quiet --verify refs/stash)
git stash push --quiet --keep-index -m 'Unstaged changes before pre-commit hook' git stash push --quiet --staged --message "Staged changes before pre-commit hook"
git stash push --quiet --message "Unstaged changes before pre-commit hook"
if git stash show "stash@{1}" 2>/dev/null; then
git stash pop --quiet --index "stash@{1}"
else
git stash pop --quiet --index "stash@{0}"
fi
new_stash=$(git rev-parse --quiet --verify refs/stash) new_stash=$(git rev-parse --quiet --verify refs/stash)
diff="git diff-index --name-only --cached $against --diff-filter d" diff="git diff-index --name-only --cached $against --diff-filter d"