feat(xonsh): set up ssh-agent
This commit is contained in:
parent
2570dfa162
commit
660c9089d4
11 changed files with 82 additions and 65 deletions
1
.envrc
1
.envrc
|
@ -1 +1,2 @@
|
||||||
|
# shellcheck disable=SC2148
|
||||||
use flake
|
use flake
|
||||||
|
|
8
flake.lock
generated
8
flake.lock
generated
|
@ -516,11 +516,11 @@
|
||||||
"nvf": "nvf"
|
"nvf": "nvf"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736860746,
|
"lastModified": 1736875618,
|
||||||
"narHash": "sha256-ZULQd+0yda7ajs25krTpJJoqXn6kDEMRTh/jBhb6G6M=",
|
"narHash": "sha256-Yqflnl+pJWtdFgMaiJAeNkgFHP4+o1vA0TC5KulhnaI=",
|
||||||
"ref": "master",
|
"ref": "master",
|
||||||
"rev": "8f5f5867bb22c5a4b6eef6f68d4f994bbd2dcc90",
|
"rev": "e582f612654be987ca1bbeafb60de67f4b09e7d2",
|
||||||
"revCount": 14,
|
"revCount": 15,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://codeberg.org/amadaluzia/painless-neovim.git"
|
"url": "https://codeberg.org/amadaluzia/painless-neovim.git"
|
||||||
},
|
},
|
||||||
|
|
12
flake.nix
12
flake.nix
|
@ -100,6 +100,18 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
devShells.default = config.pre-commit.devShell;
|
devShells.default = config.pre-commit.devShell;
|
||||||
|
devShells.haskell = pkgs.mkShell {
|
||||||
|
name = "haskell";
|
||||||
|
packages = builtins.attrValues {
|
||||||
|
inherit (pkgs) ghc;
|
||||||
|
inherit
|
||||||
|
(pkgs.haskellPackages)
|
||||||
|
cabal-install
|
||||||
|
haskell-language-server
|
||||||
|
ormolu
|
||||||
|
;
|
||||||
|
};
|
||||||
|
};
|
||||||
formatter = pkgs.alejandra;
|
formatter = pkgs.alejandra;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
};
|
};
|
||||||
sessionVariables = {EDITOR = "nvim";};
|
sessionVariables = {EDITOR = "nvim";};
|
||||||
};
|
};
|
||||||
|
|
||||||
alqueva = {
|
alqueva = {
|
||||||
xonsh.enable = true;
|
xonsh.enable = true;
|
||||||
libvirt.enable = true;
|
libvirt.enable = true;
|
||||||
|
|
|
@ -1,18 +1,19 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
alqueva.fonts = {
|
alqueva.fonts = {
|
||||||
names = {
|
names = {
|
||||||
sansSerif = ["Inter"];
|
sansSerif = ["Fira Sans"];
|
||||||
monospace = ["Maple Mono"];
|
monospace = ["Fira Mono"];
|
||||||
serif = ["ETBembo"];
|
serif = ["ETBembo"];
|
||||||
emoji = ["OpenMoji Color"];
|
emoji = ["Twitter Color Emoji"];
|
||||||
};
|
};
|
||||||
packages = {
|
packages = {
|
||||||
sansSerif = [pkgs.inter];
|
sansSerif = [pkgs.fira-sans];
|
||||||
monospace = [pkgs.maple-mono];
|
monospace = [pkgs.fira-mono];
|
||||||
serif = [pkgs.source-serif-pro pkgs.etBook];
|
serif = [pkgs.etBook];
|
||||||
emoji = [pkgs.openmoji-color];
|
emoji = [pkgs.twemoji-color-font];
|
||||||
extra = [
|
extra = [
|
||||||
pkgs.source-han-sans
|
pkgs.fira-go
|
||||||
|
pkgs.noto-fonts
|
||||||
pkgs.nerd-fonts.symbols-only
|
pkgs.nerd-fonts.symbols-only
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,7 +11,7 @@ riverctl spawn "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG
|
||||||
|
|
||||||
riverctl map normal "$mod"+Shift Return spawn kitty
|
riverctl map normal "$mod"+Shift Return spawn kitty
|
||||||
riverctl map normal "$mod" P spawn "rofi -show drun"
|
riverctl map normal "$mod" P spawn "rofi -show drun"
|
||||||
riverctl map normal "$mod" S spawn "$HOME/.config/river/scripts/screenshot.sh savecopy"
|
riverctl map normal "$mod" S spawn "flameshot gui"
|
||||||
riverctl map normal "$mod" Q close
|
riverctl map normal "$mod" Q close
|
||||||
riverctl map normal "$mod"+Shift E exit
|
riverctl map normal "$mod"+Shift E exit
|
||||||
riverctl map normal "$mod"+Shift C spawn "$HOME/.config/river/init"
|
riverctl map normal "$mod"+Shift C spawn "$HOME/.config/river/init"
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# shellcheck disable=SC1091
|
|
||||||
source "$HOME/.config/user-dirs.dirs"
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
"copy")
|
|
||||||
GEOM="$(slurp)"
|
|
||||||
if [ "$GEOM" == "" ]; then
|
|
||||||
grim - | wl-copy
|
|
||||||
else
|
|
||||||
grim -g "$GEOM" - | wl-copy
|
|
||||||
fi
|
|
||||||
echo "Screenshot copied."
|
|
||||||
;;
|
|
||||||
"save")
|
|
||||||
GEOM="$(slurp)"
|
|
||||||
if [ "$GEOM" == "" ]; then
|
|
||||||
grim "$OUT"
|
|
||||||
else
|
|
||||||
grim -g "$GEOM" "$OUT"
|
|
||||||
fi
|
|
||||||
echo "Screenshot saved. $OUT"
|
|
||||||
;;
|
|
||||||
"savecopy")
|
|
||||||
GEOM="$(slurp)"
|
|
||||||
if [ "$GEOM" == "" ]; then
|
|
||||||
grim - | wl-copy
|
|
||||||
else
|
|
||||||
grim -g "$GEOM" - | wl-copy
|
|
||||||
fi
|
|
||||||
wl-copy <"$OUT"
|
|
||||||
echo "Screenshot saved and copied. $OUT"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Not done!"
|
|
||||||
;;
|
|
||||||
esac
|
|
|
@ -37,13 +37,14 @@ in {
|
||||||
environment.systemPackages = builtins.attrValues {
|
environment.systemPackages = builtins.attrValues {
|
||||||
inherit
|
inherit
|
||||||
(pkgs)
|
(pkgs)
|
||||||
slurp
|
|
||||||
grim
|
|
||||||
wf-recorder
|
wf-recorder
|
||||||
rofi-wayland
|
rofi-wayland
|
||||||
kitty
|
kitty
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
;
|
;
|
||||||
|
flameshot = pkgs.flameshot.override {
|
||||||
|
enableWlrSupport = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
|
|
@ -11,7 +11,10 @@ in {
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
programs = {
|
programs = {
|
||||||
ssh.enableAskPassword = true;
|
ssh = {
|
||||||
|
enableAskPassword = true;
|
||||||
|
startAgent = true;
|
||||||
|
};
|
||||||
seahorse.enable = true;
|
seahorse.enable = true;
|
||||||
};
|
};
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
|
@ -26,31 +26,65 @@ in {
|
||||||
package = pkgs.xonsh.override {
|
package = pkgs.xonsh.override {
|
||||||
extraPackages = ps: [
|
extraPackages = ps: [
|
||||||
(let
|
(let
|
||||||
name = "xontrib-fish-completer";
|
pname = "xontrib-fish-completer";
|
||||||
version = "0.0.1";
|
version = "0.0.1";
|
||||||
in
|
in
|
||||||
ps.buildPythonPackage {
|
ps.buildPythonPackage {
|
||||||
inherit name version;
|
inherit pname version;
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xonsh";
|
owner = "xonsh";
|
||||||
repo = name;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-PhhdZ3iLPDEIG9uDeR5ctJ9zz2+YORHBhbsiLrJckyA=";
|
hash = "sha256-PhhdZ3iLPDEIG9uDeR5ctJ9zz2+YORHBhbsiLrJckyA=";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(let
|
(let
|
||||||
name = "xontrib-prompt-starship";
|
pname = "xontrib-prompt-starship";
|
||||||
version = "0.3.6";
|
version = "0.3.6";
|
||||||
in
|
in
|
||||||
ps.buildPythonPackage {
|
ps.buildPythonPackage {
|
||||||
inherit name version;
|
inherit pname version;
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "anki-code";
|
owner = "anki-code";
|
||||||
repo = name;
|
repo = pname;
|
||||||
tag = version;
|
tag = version;
|
||||||
hash = "sha256-CLOvMa3L4XnH53H/k6/1W9URrPakPjbX1T1U43+eSR0=";
|
hash = "sha256-CLOvMa3L4XnH53H/k6/1W9URrPakPjbX1T1U43+eSR0=";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
(let
|
||||||
|
pname = "xontrib-init-ssh-agent";
|
||||||
|
version = "1.0.1";
|
||||||
|
in
|
||||||
|
ps.buildPythonPackage {
|
||||||
|
inherit pname version;
|
||||||
|
pyproject = true;
|
||||||
|
build-system = [
|
||||||
|
ps.setuptools
|
||||||
|
ps.wheel
|
||||||
|
];
|
||||||
|
dependencies = [
|
||||||
|
ps.xonsh
|
||||||
|
];
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "amadaluzia";
|
||||||
|
repo = pname;
|
||||||
|
rev = "cac9cfec70ec15b0ed4f1c8a18154ea9b4f8fb47";
|
||||||
|
hash = "sha256-UkRPdaZFNP8qv7lMwsTUalnre3k2UMfqMzmiTveLiBM=";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(let
|
||||||
|
pname = "xonsh-direnv";
|
||||||
|
version = "1.6.5";
|
||||||
|
in
|
||||||
|
ps.buildPythonPackage {
|
||||||
|
inherit pname version;
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "74th";
|
||||||
|
repo = pname;
|
||||||
|
tag = version;
|
||||||
|
hash = "sha256-huBJ7WknVCk+WgZaXHlL+Y1sqsn6TYqMP29/fsUPSyU=";
|
||||||
|
};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
vimcmd_symbol = "[<](bold green)";
|
vimcmd_symbol = "[<](bold green)";
|
||||||
};
|
};
|
||||||
cmake = {symbol = "cmake ";};
|
cmake = {symbol = "cmake ";};
|
||||||
|
cmd_duration = {format = "\\[[$duration]($style)\\] ";};
|
||||||
cobol = {symbol = "cobol ";};
|
cobol = {symbol = "cobol ";};
|
||||||
conda = {symbol = "conda ";};
|
conda = {symbol = "conda ";};
|
||||||
crystal = {symbol = "cr ";};
|
crystal = {symbol = "cr ";};
|
||||||
|
@ -23,7 +24,7 @@
|
||||||
deno = {symbol = "deno ";};
|
deno = {symbol = "deno ";};
|
||||||
directory = {
|
directory = {
|
||||||
read_only = " ro";
|
read_only = " ro";
|
||||||
format = ">[$path]($style)< ";
|
format = ":[$path]($style)\\] ";
|
||||||
};
|
};
|
||||||
docker_context = {symbol = "docker ";};
|
docker_context = {symbol = "docker ";};
|
||||||
dotnet = {symbol = ".NET ";};
|
dotnet = {symbol = ".NET ";};
|
||||||
|
@ -32,7 +33,7 @@
|
||||||
fennel = {symbol = "fnl ";};
|
fennel = {symbol = "fnl ";};
|
||||||
fossil_branch = {symbol = "fossil ";};
|
fossil_branch = {symbol = "fossil ";};
|
||||||
gcloud = {symbol = "gcp ";};
|
gcloud = {symbol = "gcp ";};
|
||||||
git_branch = {symbol = "git ";};
|
git_branch = {format = "\\[[$branch(:$remote_branch)]($style)\\] ";};
|
||||||
git_commit = {tag_symbol = " tag ";};
|
git_commit = {tag_symbol = " tag ";};
|
||||||
git_status = {
|
git_status = {
|
||||||
ahead = ">";
|
ahead = ">";
|
||||||
|
@ -40,6 +41,7 @@
|
||||||
deleted = "x";
|
deleted = "x";
|
||||||
diverged = "<>";
|
diverged = "<>";
|
||||||
renamed = "r";
|
renamed = "r";
|
||||||
|
format = "\\[[$all_status$ahead_behind]($style)\\] ";
|
||||||
};
|
};
|
||||||
gleam = {symbol = "gleam ";};
|
gleam = {symbol = "gleam ";};
|
||||||
golang = {symbol = "go ";};
|
golang = {symbol = "go ";};
|
||||||
|
@ -54,7 +56,7 @@
|
||||||
meson = {symbol = "meson ";};
|
meson = {symbol = "meson ";};
|
||||||
nats = {symbol = "nats ";};
|
nats = {symbol = "nats ";};
|
||||||
nim = {symbol = "nim ";};
|
nim = {symbol = "nim ";};
|
||||||
nix_shell = {symbol = "nix ";};
|
nix_shell = {format = "\\[[$state( \($name\))]($style)\\] ";};
|
||||||
nodejs = {symbol = "nodejs ";};
|
nodejs = {symbol = "nodejs ";};
|
||||||
ocaml = {symbol = "ml ";};
|
ocaml = {symbol = "ml ";};
|
||||||
opa = {symbol = "opa ";};
|
opa = {symbol = "opa ";};
|
||||||
|
@ -132,7 +134,7 @@
|
||||||
zig = {symbol = "zig ";};
|
zig = {symbol = "zig ";};
|
||||||
username = {
|
username = {
|
||||||
show_always = true;
|
show_always = true;
|
||||||
format = "[$user]($style)@";
|
format = "\\[[$user]($style)@";
|
||||||
};
|
};
|
||||||
hostname = {
|
hostname = {
|
||||||
ssh_only = false;
|
ssh_only = false;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue