mirror of
https://github.com/oddlama/nix-config.git
synced 2025-10-10 14:50:40 +02:00
chore: format everything
This commit is contained in:
parent
deca311c68
commit
7ccd7856ee
162 changed files with 4750 additions and 3718 deletions
|
@ -1,4 +1,5 @@
|
|||
{config, ...}: {
|
||||
{ config, ... }:
|
||||
{
|
||||
programs.htop = {
|
||||
enable = true;
|
||||
settings =
|
||||
|
@ -12,21 +13,25 @@
|
|||
hide_userland_threads = 1;
|
||||
sort_key = 46; # Sort by %CPU if not in tree mode
|
||||
}
|
||||
// (with config.lib.htop;
|
||||
// (
|
||||
with config.lib.htop;
|
||||
leftMeters [
|
||||
(bar "LeftCPUs2")
|
||||
(bar "Memory")
|
||||
(bar "Swap")
|
||||
(bar "ZFSARC")
|
||||
(text "NetworkIO")
|
||||
])
|
||||
// (with config.lib.htop;
|
||||
]
|
||||
)
|
||||
// (
|
||||
with config.lib.htop;
|
||||
rightMeters [
|
||||
(bar "RightCPUs2")
|
||||
(text "LoadAverage")
|
||||
(text "Tasks")
|
||||
(text "Uptime")
|
||||
(text "Systemd")
|
||||
]);
|
||||
]
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,9 +3,11 @@
|
|||
lib,
|
||||
nixosConfig,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) optionals;
|
||||
in {
|
||||
in
|
||||
{
|
||||
home.persistence."/state".files = optionals config.programs.ssh.enable [
|
||||
".ssh/known_hosts"
|
||||
];
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{...}: {
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./starship.nix
|
||||
./nushell
|
||||
|
@ -7,7 +8,7 @@
|
|||
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
options = ["--cmd p"];
|
||||
options = [ "--cmd p" ];
|
||||
};
|
||||
|
||||
# nix-index-database is enabled globally for each user in config/home-manager.nix
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{lib, ...}: {
|
||||
{ lib, ... }:
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
# Needed in path for zsh-histdb
|
||||
home.packages = [pkgs.sqlite-interactive];
|
||||
home.packages = [ pkgs.sqlite-interactive ];
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
|
|
@ -3,9 +3,11 @@
|
|||
lib,
|
||||
nixosConfig,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options.userSecretsName = mkOption {
|
||||
default = "user-${config._module.args.name}";
|
||||
type = types.str;
|
||||
|
|
|
@ -5,67 +5,72 @@
|
|||
pkgs,
|
||||
minimal,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
myuser = globals.myuser.name;
|
||||
in
|
||||
lib.optionalAttrs (!minimal) {
|
||||
users.groups.${myuser}.gid = config.users.users.${myuser}.uid;
|
||||
users.users.${myuser} = {
|
||||
uid = 1000;
|
||||
inherit (globals.myuser) hashedPassword;
|
||||
createHome = true;
|
||||
group = myuser;
|
||||
extraGroups = ["wheel" "input" "video"];
|
||||
isNormalUser = true;
|
||||
autoSubUidGidRange = false;
|
||||
shell = pkgs.zsh;
|
||||
lib.optionalAttrs (!minimal) {
|
||||
users.groups.${myuser}.gid = config.users.users.${myuser}.uid;
|
||||
users.users.${myuser} = {
|
||||
uid = 1000;
|
||||
inherit (globals.myuser) hashedPassword;
|
||||
createHome = true;
|
||||
group = myuser;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"input"
|
||||
"video"
|
||||
];
|
||||
isNormalUser = true;
|
||||
autoSubUidGidRange = false;
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
repo.secretFiles.user-myuser = ./secrets/user.nix.age;
|
||||
|
||||
age.secrets.my-gpg-pubkey-yubikey = {
|
||||
rekeyFile = ./secrets/yubikey.gpg.age;
|
||||
group = myuser;
|
||||
mode = "640";
|
||||
};
|
||||
|
||||
age.secrets."my-gpg-yubikey-keygrip.tar" = {
|
||||
rekeyFile = ./secrets/gpg-keygrip.tar.age;
|
||||
group = myuser;
|
||||
mode = "640";
|
||||
};
|
||||
|
||||
home-manager.users.${myuser} = {
|
||||
imports = [
|
||||
../config
|
||||
./dev
|
||||
./graphical
|
||||
./neovim
|
||||
|
||||
./git.nix
|
||||
./gpg.nix
|
||||
./ssh.nix
|
||||
];
|
||||
|
||||
# Remove dependence on username (which also comes from these secrets) to
|
||||
# avoid triggering infinite recursion.
|
||||
userSecretsName = "user-myuser";
|
||||
home = {
|
||||
username = config.users.users.${myuser}.name;
|
||||
};
|
||||
|
||||
repo.secretFiles.user-myuser = ./secrets/user.nix.age;
|
||||
# Autostart hyprland if on tty1 (once, don't restart after logout)
|
||||
programs.zsh.initExtra = lib.mkOrder 9999 ''
|
||||
if [[ -t 0 && "$(tty || true)" == /dev/tty1 && -z "$DISPLAY" && -z "$WAYLAND_DISPLAY" ]] && uwsm check may-start; then
|
||||
echo "Login shell detected. Starting Hyprland..."
|
||||
uwsm start -S -F Hyprland
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
age.secrets.my-gpg-pubkey-yubikey = {
|
||||
rekeyFile = ./secrets/yubikey.gpg.age;
|
||||
group = myuser;
|
||||
mode = "640";
|
||||
};
|
||||
# Autologin
|
||||
services.getty.autologinUser = myuser;
|
||||
|
||||
age.secrets."my-gpg-yubikey-keygrip.tar" = {
|
||||
rekeyFile = ./secrets/gpg-keygrip.tar.age;
|
||||
group = myuser;
|
||||
mode = "640";
|
||||
};
|
||||
|
||||
home-manager.users.${myuser} = {
|
||||
imports = [
|
||||
../config
|
||||
./dev
|
||||
./graphical
|
||||
./neovim
|
||||
|
||||
./git.nix
|
||||
./gpg.nix
|
||||
./ssh.nix
|
||||
];
|
||||
|
||||
# Remove dependence on username (which also comes from these secrets) to
|
||||
# avoid triggering infinite recursion.
|
||||
userSecretsName = "user-myuser";
|
||||
home = {
|
||||
username = config.users.users.${myuser}.name;
|
||||
};
|
||||
|
||||
# Autostart hyprland if on tty1 (once, don't restart after logout)
|
||||
programs.zsh.initExtra = lib.mkOrder 9999 ''
|
||||
if [[ -t 0 && "$(tty || true)" == /dev/tty1 && -z "$DISPLAY" && -z "$WAYLAND_DISPLAY" ]] && uwsm check may-start; then
|
||||
echo "Login shell detected. Starting Hyprland..."
|
||||
uwsm start -S -F Hyprland
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
# Autologin
|
||||
services.getty.autologinUser = myuser;
|
||||
|
||||
# Allow screen recorder to access the framebuffer as root
|
||||
programs.gpu-screen-recorder.enable = true;
|
||||
}
|
||||
# Allow screen recorder to access the framebuffer as root
|
||||
programs.gpu-screen-recorder.enable = true;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./direnv.nix
|
||||
./gdb.nix
|
||||
|
@ -13,9 +14,13 @@
|
|||
".local/share/rustup"
|
||||
];
|
||||
|
||||
extraOutputsToInstall = ["man" "doc" "devdoc"];
|
||||
extraOutputsToInstall = [
|
||||
"man"
|
||||
"doc"
|
||||
"devdoc"
|
||||
];
|
||||
packages = [
|
||||
(pkgs.python3.withPackages (p: with p; [numpy]))
|
||||
(pkgs.python3.withPackages (p: with p; [ numpy ]))
|
||||
pkgs.cloc
|
||||
pkgs.d2
|
||||
pkgs.gh
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: let
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
# pwndbg wraps a gdb binary for us, but we want debuginfod in there too.
|
||||
# Also make it the default gdb.
|
||||
pwndbgWithDebuginfod =
|
||||
|
@ -6,15 +7,18 @@
|
|||
gdb = pkgs.gdb.override {
|
||||
enableDebuginfod = true;
|
||||
};
|
||||
})
|
||||
.overrideAttrs (_finalAttrs: previousAttrs: {
|
||||
installPhase =
|
||||
previousAttrs.installPhase
|
||||
+ ''
|
||||
ln -s $out/bin/pwndbg $out/bin/gdb
|
||||
'';
|
||||
});
|
||||
in {
|
||||
}).overrideAttrs
|
||||
(
|
||||
_finalAttrs: previousAttrs: {
|
||||
installPhase =
|
||||
previousAttrs.installPhase
|
||||
+ ''
|
||||
ln -s $out/bin/pwndbg $out/bin/gdb
|
||||
'';
|
||||
}
|
||||
);
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
pwndbgWithDebuginfod
|
||||
pkgs.hotspot
|
||||
|
|
|
@ -2,68 +2,73 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.sessionVariables.MANPAGER = let
|
||||
prg = lib.getExe (pkgs.nixvim.makeNixvim {
|
||||
package = pkgs.neovim-clean;
|
||||
}:
|
||||
{
|
||||
home.sessionVariables.MANPAGER =
|
||||
let
|
||||
prg = lib.getExe (
|
||||
pkgs.nixvim.makeNixvim {
|
||||
package = pkgs.neovim-clean;
|
||||
|
||||
opts = {
|
||||
buftype = "nowrite";
|
||||
backup = false;
|
||||
modeline = false;
|
||||
shelltemp = false;
|
||||
swapfile = false;
|
||||
undofile = false;
|
||||
writebackup = false;
|
||||
virtualedit = "all";
|
||||
splitkeep = "screen";
|
||||
termguicolors = false;
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
};
|
||||
opts = {
|
||||
buftype = "nowrite";
|
||||
backup = false;
|
||||
modeline = false;
|
||||
shelltemp = false;
|
||||
swapfile = false;
|
||||
undofile = false;
|
||||
writebackup = false;
|
||||
virtualedit = "all";
|
||||
splitkeep = "screen";
|
||||
termguicolors = false;
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
};
|
||||
|
||||
extraConfigLua = ''
|
||||
vim.opt.shadafile = vim.fn.stdpath "state" .. "/shada/man.shada";
|
||||
'';
|
||||
extraConfigLua = ''
|
||||
vim.opt.shadafile = vim.fn.stdpath "state" .. "/shada/man.shada";
|
||||
'';
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
action = "<C-]>";
|
||||
key = "<CR>";
|
||||
mode = ["n"];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Jump to tag under cursor";
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
action = "<C-]>";
|
||||
key = "<CR>";
|
||||
mode = [ "n" ];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Jump to tag under cursor";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":pop<CR>";
|
||||
key = "<BS>";
|
||||
mode = [ "n" ];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Jump to previous tag in stack";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":pop<CR>";
|
||||
key = "<C-Left>";
|
||||
mode = [ "n" ];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Jump to previous tag in stack";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":tag<CR>";
|
||||
key = "<C-Right>";
|
||||
mode = [ "n" ];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Jump to next tag in stack";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
action = ":pop<CR>";
|
||||
key = "<BS>";
|
||||
mode = ["n"];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Jump to previous tag in stack";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":pop<CR>";
|
||||
key = "<C-Left>";
|
||||
mode = ["n"];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Jump to previous tag in stack";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":tag<CR>";
|
||||
key = "<C-Right>";
|
||||
mode = ["n"];
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Jump to next tag in stack";
|
||||
};
|
||||
}
|
||||
];
|
||||
});
|
||||
in "${prg} '+Man!'";
|
||||
);
|
||||
in
|
||||
"${prg} '+Man!'";
|
||||
}
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
git-filter-repo
|
||||
git-fuzzy
|
||||
|
@ -66,25 +67,30 @@
|
|||
gca = "git commit -v -S --amend";
|
||||
gcl = "git clone";
|
||||
gcr = "git commit-reuse-message -v -S";
|
||||
gf = lib.getExe (pkgs.writeShellApplication {
|
||||
name = "git-fixup-fzf";
|
||||
runtimeInputs = [pkgs.fzf pkgs.gnugrep];
|
||||
text = ''
|
||||
if ! commit=$(set +o pipefail; git log --graph --color=always --format="%C(auto)%h%d %s %C(reset)%C(bold)%cr" "$@" \
|
||||
| fzf --ansi --multi --no-sort --reverse --print-query --expect=ctrl-d --toggle-sort=\`); then
|
||||
echo aborted
|
||||
exit 0
|
||||
fi
|
||||
gf = lib.getExe (
|
||||
pkgs.writeShellApplication {
|
||||
name = "git-fixup-fzf";
|
||||
runtimeInputs = [
|
||||
pkgs.fzf
|
||||
pkgs.gnugrep
|
||||
];
|
||||
text = ''
|
||||
if ! commit=$(set +o pipefail; git log --graph --color=always --format="%C(auto)%h%d %s %C(reset)%C(bold)%cr" "$@" \
|
||||
| fzf --ansi --multi --no-sort --reverse --print-query --expect=ctrl-d --toggle-sort=\`); then
|
||||
echo aborted
|
||||
exit 0
|
||||
fi
|
||||
|
||||
sha=$(grep -o '^[^a-z0-9]*[a-z0-9]\{7\}[a-z0-9]*' <<< "$commit" | grep -o '[a-z0-9]\{7\}[a-z0-9]*')
|
||||
if [[ -z "$sha" ]]; then
|
||||
echo "Found no checksum for selected commit. Aborting."
|
||||
exit 1
|
||||
fi
|
||||
sha=$(grep -o '^[^a-z0-9]*[a-z0-9]\{7\}[a-z0-9]*' <<< "$commit" | grep -o '[a-z0-9]\{7\}[a-z0-9]*')
|
||||
if [[ -z "$sha" ]]; then
|
||||
echo "Found no checksum for selected commit. Aborting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git fixup "$sha" "$@"
|
||||
'';
|
||||
});
|
||||
git fixup "$sha" "$@"
|
||||
'';
|
||||
}
|
||||
);
|
||||
gp = "git push";
|
||||
gpf = "git push --force";
|
||||
gs = "git s";
|
||||
|
|
|
@ -3,12 +3,15 @@
|
|||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
# Make sure the keygrips exist, otherwise we'd need to run `gpg --card-status`
|
||||
# before being able to use the yubikey.
|
||||
home.activation.installKeygrips = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
home.activation.installKeygrips = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
run mkdir -p "$HOME/.gnupg/private-keys-v1.d"
|
||||
run ${lib.getExe pkgs.gnutar} xvf ${lib.escapeShellArg nixosConfig.age.secrets."my-gpg-yubikey-keygrip.tar".path} -C "$HOME/.gnupg/private-keys-v1.d/"
|
||||
run ${lib.getExe pkgs.gnutar} xvf ${
|
||||
lib.escapeShellArg nixosConfig.age.secrets."my-gpg-yubikey-keygrip.tar".path
|
||||
} -C "$HOME/.gnupg/private-keys-v1.d/"
|
||||
'';
|
||||
|
||||
programs.gpg = {
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./discord.nix
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
discord
|
||||
webcord
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) concatStringsSep escapeShellArg mapAttrsToList;
|
||||
env = {
|
||||
MOZ_WEBRENDER = 1;
|
||||
|
@ -23,7 +24,8 @@
|
|||
rev = "116.1";
|
||||
hash = "sha256-Ai8Szbrk/4FhGhS4r5gA2DqjALFRfQKo2a/TwWCIA6g=";
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox.overrideAttrs (old: {
|
||||
|
@ -153,7 +155,15 @@ in {
|
|||
search = {
|
||||
force = true;
|
||||
default = "Kagi";
|
||||
order = ["Kagi" "DuckDuckGo" "Youtube" "NixOS Options" "Nix Packages" "GitHub" "HackerNews"];
|
||||
order = [
|
||||
"Kagi"
|
||||
"DuckDuckGo"
|
||||
"Youtube"
|
||||
"NixOS Options"
|
||||
"Nix Packages"
|
||||
"GitHub"
|
||||
"HackerNews"
|
||||
];
|
||||
|
||||
engines = {
|
||||
"Bing".metaData.hidden = true;
|
||||
|
@ -163,7 +173,7 @@ in {
|
|||
"Kagi" = {
|
||||
iconUpdateURL = "https://kagi.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000;
|
||||
definedAliases = ["@k"];
|
||||
definedAliases = [ "@k" ];
|
||||
urls = [
|
||||
{
|
||||
template = "https://kagi.com/search";
|
||||
|
@ -180,7 +190,7 @@ in {
|
|||
"YouTube" = {
|
||||
iconUpdateURL = "https://youtube.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000;
|
||||
definedAliases = ["@yt"];
|
||||
definedAliases = [ "@yt" ];
|
||||
urls = [
|
||||
{
|
||||
template = "https://www.youtube.com/results";
|
||||
|
@ -196,7 +206,7 @@ in {
|
|||
|
||||
"Nix Packages" = {
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@np"];
|
||||
definedAliases = [ "@np" ];
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
|
@ -216,7 +226,7 @@ in {
|
|||
|
||||
"NixOS Options" = {
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@no"];
|
||||
definedAliases = [ "@no" ];
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/options";
|
||||
|
@ -237,7 +247,7 @@ in {
|
|||
"GitHub" = {
|
||||
iconUpdateURL = "https://github.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000;
|
||||
definedAliases = ["@gh"];
|
||||
definedAliases = [ "@gh" ];
|
||||
|
||||
urls = [
|
||||
{
|
||||
|
@ -254,7 +264,7 @@ in {
|
|||
|
||||
"Home Manager" = {
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@hm"];
|
||||
definedAliases = [ "@hm" ];
|
||||
|
||||
url = [
|
||||
{
|
||||
|
@ -272,7 +282,7 @@ in {
|
|||
"HackerNews" = {
|
||||
iconUpdateURL = "https://hn.algolia.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000;
|
||||
definedAliases = ["@hn"];
|
||||
definedAliases = [ "@hn" ];
|
||||
|
||||
url = [
|
||||
{
|
||||
|
@ -512,9 +522,9 @@ in {
|
|||
];
|
||||
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
"text/html" = ["firefox.desktop"];
|
||||
"text/xml" = ["firefox.desktop"];
|
||||
"x-scheme-handler/http" = ["firefox.desktop"];
|
||||
"x-scheme-handler/https" = ["firefox.desktop"];
|
||||
"text/html" = [ "firefox.desktop" ];
|
||||
"text/xml" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,10 +3,12 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
colors = config.lib.stylix.colors.withHashtag;
|
||||
in {
|
||||
xdg.configFile."flameshot/flameshot.ini".source = (pkgs.formats.ini {}).generate "flameshot.ini" {
|
||||
in
|
||||
{
|
||||
xdg.configFile."flameshot/flameshot.ini".source = (pkgs.formats.ini { }).generate "flameshot.ini" {
|
||||
General = {
|
||||
antialiasingPinZoom = false;
|
||||
buttons = ''@Variant(\0\0\0\x7f\0\0\0\vQList<int>\0\0\0\0\x10\0\0\0\0\0\0\0\x3\0\0\0\x4\0\0\0\x5\0\0\0\x6\0\0\0\x12\0\0\0\xf\0\0\0\x13\0\0\0\a\0\0\0\t\0\0\0\x10\0\0\0\n\0\0\0\v\0\0\0\x17\0\0\0\f\0\0\0\x11)'';
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# XXX: to enable dark mode, no idea why it isn't detected by default.
|
||||
# dconf write /com/usebottles/bottles/dark-theme true
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# XXX: Do NOT enable "Use discrete GPU" when running on nvidia by default.
|
||||
# Otherwise the xorg server will crash big time (no logs). After some gdb
|
||||
# debugging the culprit seems to be the x11 nvidia driver (nvidia_drv.so),
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.persistence."/state".directories = [
|
||||
".config/awakened-poe-trade"
|
||||
];
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
pkgs,
|
||||
nixosConfig,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
save-replay = pkgs.writeShellApplication {
|
||||
name = "gpu-screen-recorder-save-replay";
|
||||
runtimeInputs = [
|
||||
|
@ -34,7 +35,7 @@
|
|||
|
||||
on-stop-service = pkgs.writeShellApplication {
|
||||
name = "gpu-screen-recorder-stop-service";
|
||||
runtimeInputs = [pkgs.libnotify];
|
||||
runtimeInputs = [ pkgs.libnotify ];
|
||||
text = ''
|
||||
if [[ "$SERVICE_RESULT" == "success" ]]; then
|
||||
notify-send '🎥 GPU Screen Recorder' '🔴 Replay service stopped!' \
|
||||
|
@ -85,7 +86,8 @@
|
|||
-o "$GSR_OUTPUTDIR"
|
||||
'';
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
lib.gpu-screen-recorder = {
|
||||
inherit save-replay;
|
||||
};
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit
|
||||
(lib)
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
concatMap
|
||||
elem
|
||||
flip
|
||||
|
@ -20,7 +20,8 @@
|
|||
;
|
||||
|
||||
rofi-drun = "rofi -show drun -theme ~/.config/rofi/launchers/type-1/style-10.rasi";
|
||||
in {
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
];
|
||||
|
@ -94,12 +95,10 @@ in {
|
|||
"SUPER + SHIFT,comma,movetoworkspacesilent,-1"
|
||||
"SUPER + SHIFT,period,movetoworkspacesilent,+1"
|
||||
]
|
||||
++ flip concatMap (map toString (lib.lists.range 1 9)) (
|
||||
x: [
|
||||
"SUPER,${x},workspace,${x}"
|
||||
"SUPER + SHIFT,${x},movetoworkspacesilent,${x}"
|
||||
]
|
||||
);
|
||||
++ flip concatMap (map toString (lib.lists.range 1 9)) (x: [
|
||||
"SUPER,${x},workspace,${x}"
|
||||
"SUPER + SHIFT,${x},movetoworkspacesilent,${x}"
|
||||
]);
|
||||
|
||||
bindm = [
|
||||
# mouse movements
|
||||
|
@ -200,10 +199,12 @@ in {
|
|||
];
|
||||
})
|
||||
(mkIf (nixosConfig.node.name == "nom") {
|
||||
monitor = [
|
||||
];
|
||||
workspace = [
|
||||
];
|
||||
monitor =
|
||||
[
|
||||
];
|
||||
workspace =
|
||||
[
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
|
|
|
@ -139,7 +139,7 @@ fn cmd_toggle_layout(config: &Config, workspace: &Node) -> Option<String> {
|
|||
|
||||
// Don't do anything if the layout is already correct
|
||||
if &con.layout == desired_layout {
|
||||
return None
|
||||
return None;
|
||||
}
|
||||
|
||||
con = &con.nodes[0];
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit
|
||||
(lib)
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
escapeShellArg
|
||||
getExe
|
||||
mapAttrs'
|
||||
|
@ -26,7 +26,7 @@
|
|||
meta = with lib; {
|
||||
description = "A helper utility to allow assigning a layout to each workspace in i3";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [oddlama];
|
||||
maintainers = with maintainers; [ oddlama ];
|
||||
mainProgram = "i3-per-workspace-layout";
|
||||
};
|
||||
};
|
||||
|
@ -46,11 +46,12 @@
|
|||
meta = with lib; {
|
||||
description = "Better focus navigation for sway and i3";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [oddlama];
|
||||
maintainers = with maintainers; [ oddlama ];
|
||||
mainProgram = "sway-overfocus";
|
||||
};
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
xsession.numlock.enable = true;
|
||||
xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
|
@ -148,107 +149,126 @@ in {
|
|||
window.titlebar = false;
|
||||
|
||||
floating.criteria = [
|
||||
{class = "^Pavucontrol$";}
|
||||
{ class = "^Pavucontrol$"; }
|
||||
#{class = "^awakened-poe-trade$";}
|
||||
];
|
||||
|
||||
assigns = {
|
||||
"1" = [
|
||||
{class = "^firefox$";}
|
||||
{ class = "^firefox$"; }
|
||||
];
|
||||
"5" = [
|
||||
{class = "^bottles$";}
|
||||
{class = "^steam$";}
|
||||
{class = "^prismlauncher$";}
|
||||
{ class = "^bottles$"; }
|
||||
{ class = "^steam$"; }
|
||||
{ class = "^prismlauncher$"; }
|
||||
];
|
||||
"7" = [
|
||||
{class = "^obsidian$";}
|
||||
{class = "^discord$";}
|
||||
{class = "^Signal$";}
|
||||
{class = "^TelegramDesktop$";}
|
||||
{ class = "^obsidian$"; }
|
||||
{ class = "^discord$"; }
|
||||
{ class = "^Signal$"; }
|
||||
{ class = "^TelegramDesktop$"; }
|
||||
];
|
||||
"8" = [
|
||||
{class = "^Spotify$";}
|
||||
{ class = "^Spotify$"; }
|
||||
];
|
||||
};
|
||||
# TODO eww -> bars = [ ];
|
||||
|
||||
workspaceOutputAssign =
|
||||
{
|
||||
kroma = let
|
||||
monitorMain = "DP-2";
|
||||
monitorLeft = "DP-4";
|
||||
in
|
||||
map (x: {
|
||||
workspace = x;
|
||||
output = monitorMain;
|
||||
}) ["1" "2" "3" "4" "5" "6"]
|
||||
++ map (x: {
|
||||
workspace = x;
|
||||
output = monitorLeft;
|
||||
}) ["7" "8" "9"];
|
||||
kroma =
|
||||
let
|
||||
monitorMain = "DP-2";
|
||||
monitorLeft = "DP-4";
|
||||
in
|
||||
map
|
||||
(x: {
|
||||
workspace = x;
|
||||
output = monitorMain;
|
||||
})
|
||||
[
|
||||
"1"
|
||||
"2"
|
||||
"3"
|
||||
"4"
|
||||
"5"
|
||||
"6"
|
||||
]
|
||||
++
|
||||
map
|
||||
(x: {
|
||||
workspace = x;
|
||||
output = monitorLeft;
|
||||
})
|
||||
[
|
||||
"7"
|
||||
"8"
|
||||
"9"
|
||||
];
|
||||
}
|
||||
.${nixosConfig.node.name}
|
||||
or [];
|
||||
.${nixosConfig.node.name} or [ ];
|
||||
|
||||
startup = let
|
||||
configLayouts = (pkgs.formats.toml {}).generate "per-workspace-layouts.toml" {
|
||||
force = true;
|
||||
layouts = {
|
||||
"1" = "tabbed";
|
||||
"5" = "tabbed";
|
||||
"7" = "tabbed";
|
||||
"8" = "tabbed";
|
||||
"9" = "tabbed";
|
||||
startup =
|
||||
let
|
||||
configLayouts = (pkgs.formats.toml { }).generate "per-workspace-layouts.toml" {
|
||||
force = true;
|
||||
layouts = {
|
||||
"1" = "tabbed";
|
||||
"5" = "tabbed";
|
||||
"7" = "tabbed";
|
||||
"8" = "tabbed";
|
||||
"9" = "tabbed";
|
||||
};
|
||||
};
|
||||
};
|
||||
in [
|
||||
{
|
||||
command = "${getExe i3-per-workspace-layout} --config ${configLayouts}";
|
||||
always = false;
|
||||
notification = false;
|
||||
}
|
||||
];
|
||||
in
|
||||
[
|
||||
{
|
||||
command = "${getExe i3-per-workspace-layout} --config ${configLayouts}";
|
||||
always = false;
|
||||
notification = false;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services = {
|
||||
wired.Install.WantedBy = lib.mkForce ["i3-session.target"];
|
||||
flameshot.Install.WantedBy = lib.mkForce ["i3-session.target"];
|
||||
wired.Install.WantedBy = lib.mkForce [ "i3-session.target" ];
|
||||
flameshot.Install.WantedBy = lib.mkForce [ "i3-session.target" ];
|
||||
};
|
||||
|
||||
programs.autorandr.enable = true;
|
||||
programs.autorandr.profiles =
|
||||
{
|
||||
kroma = let
|
||||
monitorMain = "DP-2";
|
||||
monitorLeft = "DP-4";
|
||||
in {
|
||||
main = {
|
||||
config = {
|
||||
${monitorLeft} = {
|
||||
enable = true;
|
||||
mode = "3840x2160";
|
||||
rate = "60.00";
|
||||
position = "0x0";
|
||||
kroma =
|
||||
let
|
||||
monitorMain = "DP-2";
|
||||
monitorLeft = "DP-4";
|
||||
in
|
||||
{
|
||||
main = {
|
||||
config = {
|
||||
${monitorLeft} = {
|
||||
enable = true;
|
||||
mode = "3840x2160";
|
||||
rate = "60.00";
|
||||
position = "0x0";
|
||||
};
|
||||
${monitorMain} = {
|
||||
enable = true;
|
||||
primary = true;
|
||||
mode = "3840x2160";
|
||||
rate = "144.00";
|
||||
position = "3840x0";
|
||||
};
|
||||
};
|
||||
${monitorMain} = {
|
||||
enable = true;
|
||||
primary = true;
|
||||
mode = "3840x2160";
|
||||
rate = "144.00";
|
||||
position = "3840x0";
|
||||
fingerprint = {
|
||||
${monitorMain} = "00ffffffffffff001e6d9a5b078e0a000b1f0104b53c2278f919c1ae5044af260e5054210800d1c061404540314001010101010101014dd000a0f0703e803020350058542100001a000000fd0c3090505086010a202020202020000000fc003237474e3935300a2020202020000000ff003131314e5447594c423731390a02e602032d7123090707830100004410040301e2006ae305c000e60605017360216d1a0000020b309000047321602900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f47012790300030128d8060284ff0e9f002f801f006f08910002000400404f0104ff0e9f002f801f006f086200020004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d90";
|
||||
${monitorLeft} = "00ffffffffffff001e6d095b39790700081a0104b53c22789f3035a7554ea3260f50542108007140818081c0a9c0d1c08100010101014dd000a0f0703e803020650c58542100001a286800a0f0703e800890650c58542100001a000000fd00283d878738010a202020202020000000fc004c4720556c7472612048440a2001850203117144900403012309070783010000023a801871382d40582c450058542100001e565e00a0a0a029503020350058542100001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c8";
|
||||
};
|
||||
};
|
||||
fingerprint = {
|
||||
${monitorMain} = "00ffffffffffff001e6d9a5b078e0a000b1f0104b53c2278f919c1ae5044af260e5054210800d1c061404540314001010101010101014dd000a0f0703e803020350058542100001a000000fd0c3090505086010a202020202020000000fc003237474e3935300a2020202020000000ff003131314e5447594c423731390a02e602032d7123090707830100004410040301e2006ae305c000e60605017360216d1a0000020b309000047321602900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f47012790300030128d8060284ff0e9f002f801f006f08910002000400404f0104ff0e9f002f801f006f086200020004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d90";
|
||||
${monitorLeft} = "00ffffffffffff001e6d095b39790700081a0104b53c22789f3035a7554ea3260f50542108007140818081c0a9c0d1c08100010101014dd000a0f0703e803020650c58542100001a286800a0f0703e800890650c58542100001a000000fd00283d878738010a202020202020000000fc004c4720556c7472612048440a2001850203117144900403012309070783010000023a801871382d40582c450058542100001e565e00a0a0a029503020350058542100001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c8";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
.${nixosConfig.node.name}
|
||||
or {};
|
||||
.${nixosConfig.node.name} or { };
|
||||
|
||||
home.sessionVariables = {
|
||||
# Make gtk apps bigger
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
home.sessionVariables = {
|
||||
TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo";
|
||||
};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
|
@ -7,26 +8,26 @@
|
|||
};
|
||||
};
|
||||
|
||||
home.file = let
|
||||
rofi-themes = pkgs.fetchFromGitHub {
|
||||
owner = "adi1090x";
|
||||
repo = "rofi";
|
||||
rev = "3a28753b0a8fb666f4bd0394ac4b0e785577afa2";
|
||||
hash = "sha256-G3sAyIZbq1sOJxf+NBlXMOtTMiBCn6Sat8PHryxRS0w=";
|
||||
home.file =
|
||||
let
|
||||
rofi-themes = pkgs.fetchFromGitHub {
|
||||
owner = "adi1090x";
|
||||
repo = "rofi";
|
||||
rev = "3a28753b0a8fb666f4bd0394ac4b0e785577afa2";
|
||||
hash = "sha256-G3sAyIZbq1sOJxf+NBlXMOtTMiBCn6Sat8PHryxRS0w=";
|
||||
};
|
||||
in
|
||||
{
|
||||
".config/rofi/colors" = {
|
||||
source = "${rofi-themes}/files/colors";
|
||||
recursive = true;
|
||||
};
|
||||
".config/rofi/launchers/type-1/style-10.rasi".source = "${rofi-themes}/files/launchers/type-1/style-10.rasi";
|
||||
".config/rofi/launchers/type-1/shared/colors.rasi".text =
|
||||
# css
|
||||
''
|
||||
@import "~/.config/rofi/colors/onedark.rasi"
|
||||
'';
|
||||
".config/rofi/launchers/type-1/shared/fonts.rasi".text = "";
|
||||
};
|
||||
in {
|
||||
".config/rofi/colors" = {
|
||||
source = "${rofi-themes}/files/colors";
|
||||
recursive = true;
|
||||
};
|
||||
".config/rofi/launchers/type-1/style-10.rasi".source = "${rofi-themes}/files/launchers/type-1/style-10.rasi";
|
||||
".config/rofi/launchers/type-1/shared/colors.rasi".text =
|
||||
/*
|
||||
css
|
||||
*/
|
||||
''
|
||||
@import "~/.config/rofi/colors/onedark.rasi"
|
||||
'';
|
||||
".config/rofi/launchers/type-1/shared/fonts.rasi".text = "";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
signal-desktop
|
||||
];
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
swww-update-wallpaper = pkgs.writeShellApplication {
|
||||
name = "swww-update-wallpaper";
|
||||
runtimeInputs = [
|
||||
|
@ -20,15 +21,16 @@
|
|||
--transition-duration 1.5
|
||||
'';
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
systemd.user = {
|
||||
services = {
|
||||
swww = {
|
||||
Install.WantedBy = ["graphical-session.target"];
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
Unit = {
|
||||
Description = "Wayland wallpaper daemon";
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
After = [ "graphical-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.swww}/bin/swww-daemon";
|
||||
|
@ -36,7 +38,7 @@ in {
|
|||
};
|
||||
};
|
||||
swww-update-wallpaper = {
|
||||
Install.WantedBy = ["default.target"];
|
||||
Install.WantedBy = [ "default.target" ];
|
||||
Unit.Description = "Update the wallpaper";
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
|
@ -47,7 +49,7 @@ in {
|
|||
};
|
||||
};
|
||||
timers.swww-update-wallpaper = {
|
||||
Install.WantedBy = ["timers.target"];
|
||||
Install.WantedBy = [ "timers.target" ];
|
||||
Unit.Description = "Periodically switch to a new wallpaper";
|
||||
Timer.OnCalendar = "*:0/5"; # Every 5 minutes
|
||||
};
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
xresources.properties = {
|
||||
"Xft.hinting" = true;
|
||||
"Xft.antialias" = true;
|
||||
|
@ -13,29 +14,31 @@
|
|||
"Xft.rgba" = "rgb";
|
||||
};
|
||||
|
||||
gtk = let
|
||||
gtk34extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
gtk-cursor-theme-size = 32;
|
||||
gtk-enable-animations = true;
|
||||
gtk-xft-antialias = 1;
|
||||
gtk-xft-dpi = 160; # XXX: delete for wayland?
|
||||
gtk-xft-hinting = 1;
|
||||
gtk-xft-hintstyle = "hintfull";
|
||||
gtk-xft-rgba = "rgb";
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
gtk =
|
||||
let
|
||||
gtk34extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
gtk-cursor-theme-size = 32;
|
||||
gtk-enable-animations = true;
|
||||
gtk-xft-antialias = 1;
|
||||
gtk-xft-dpi = 160; # XXX: delete for wayland?
|
||||
gtk-xft-hinting = 1;
|
||||
gtk-xft-hintstyle = "hintfull";
|
||||
gtk-xft-rgba = "rgb";
|
||||
};
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
|
||||
iconTheme = {
|
||||
name = "WhiteSur-dark";
|
||||
package = pkgs.whitesur-icon-theme;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "WhiteSur-dark";
|
||||
package = pkgs.whitesur-icon-theme;
|
||||
};
|
||||
|
||||
gtk2.extraConfig = "gtk-application-prefer-dark-theme = true";
|
||||
gtk3.extraConfig = gtk34extraConfig;
|
||||
gtk4.extraConfig = gtk34extraConfig;
|
||||
};
|
||||
gtk2.extraConfig = "gtk-application-prefer-dark-theme = true";
|
||||
gtk3.extraConfig = gtk34extraConfig;
|
||||
gtk4.extraConfig = gtk34extraConfig;
|
||||
};
|
||||
|
||||
home.sessionVariables.GTK_THEME = config.gtk.theme.name;
|
||||
|
||||
|
|
|
@ -2,16 +2,19 @@
|
|||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
accounts.email.accounts = lib.flip lib.mapAttrs' config.userSecrets.accounts.email (_n: v:
|
||||
}:
|
||||
{
|
||||
accounts.email.accounts = lib.flip lib.mapAttrs' config.userSecrets.accounts.email (
|
||||
_n: v:
|
||||
lib.nameValuePair v.address (
|
||||
lib.recursiveUpdate v {
|
||||
thunderbird = {
|
||||
enable = true;
|
||||
profiles = ["personal"];
|
||||
profiles = [ "personal" ];
|
||||
};
|
||||
}
|
||||
));
|
||||
)
|
||||
);
|
||||
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
|
@ -81,8 +84,8 @@
|
|||
];
|
||||
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
"x-scheme-handler/mailto" = ["thunderbird.desktop"];
|
||||
"x-scheme-handler/mid" = ["thunderbird.desktop"];
|
||||
"message/rfc822" = ["thunderbird.desktop"];
|
||||
"x-scheme-handler/mailto" = [ "thunderbird.desktop" ];
|
||||
"x-scheme-handler/mid" = [ "thunderbird.desktop" ];
|
||||
"message/rfc822" = [ "thunderbird.desktop" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: let
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
ts3 = pkgs.writeShellApplication {
|
||||
name = "teamspeak3";
|
||||
runtimeInputs = [
|
||||
|
@ -9,8 +10,9 @@
|
|||
exec ts3client
|
||||
'';
|
||||
};
|
||||
in {
|
||||
home.packages = [ts3];
|
||||
in
|
||||
{
|
||||
home.packages = [ ts3 ];
|
||||
home.persistence."/persist".directories = [
|
||||
".config/teamspeak3"
|
||||
];
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
|
@ -121,7 +122,17 @@
|
|||
battery = {
|
||||
interval = 2;
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = ["" "" "" "" "" "" "" "" ""];
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
states = {
|
||||
warning = 25;
|
||||
critical = 15;
|
||||
|
@ -154,7 +165,10 @@
|
|||
wireplumber = {
|
||||
format = "<tt>{icon} {volume}%</tt>";
|
||||
format-muted = "<tt> {volume}%</tt>";
|
||||
format-icons = ["" ""];
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "${pkgs.hyprland}/bin/hyprctl dispatch exec \"[float;pin;move 80% 50%;size 20% 50%;noborder]\" ${lib.getExe pkgs.pwvucontrol}";
|
||||
on-click-middle = "${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 100%";
|
||||
on-click-right = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
|
@ -247,7 +261,7 @@
|
|||
};
|
||||
|
||||
systemd.user.services.waybar = {
|
||||
Unit.After = ["graphical-session.target"];
|
||||
Service.Slice = ["app-graphical.slice"];
|
||||
Unit.After = [ "graphical-session.target" ];
|
||||
Service.Slice = [ "app-graphical.slice" ];
|
||||
};
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,89 +1,87 @@
|
|||
{
|
||||
programs.nixvim.plugins.alpha = {
|
||||
enable = true;
|
||||
layout = let
|
||||
padding = val: {
|
||||
type = "padding";
|
||||
inherit val;
|
||||
};
|
||||
in [
|
||||
(padding 2)
|
||||
{
|
||||
opts = {
|
||||
hl = "Type";
|
||||
position = "center";
|
||||
layout =
|
||||
let
|
||||
padding = val: {
|
||||
type = "padding";
|
||||
inherit val;
|
||||
};
|
||||
type = "text";
|
||||
val = [
|
||||
" ███╗ ██╗██╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ "
|
||||
" ████╗ ██║██║╚██╗██╔╝██║ ██║██║████╗ ████║ "
|
||||
" ██╔██╗ ██║██║ ╚███╔╝ ██║ ██║██║██╔████╔██║ "
|
||||
" ██║╚██╗██║██║ ██╔██╗ ╚██╗ ██╔╝██║██║╚██╔╝██║ "
|
||||
" ██║ ╚████║██║██╔╝ ██╗ ╚████╔╝ ██║██║ ╚═╝ ██║ "
|
||||
" ╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ "
|
||||
];
|
||||
}
|
||||
(padding 2)
|
||||
{
|
||||
type = "group";
|
||||
opts.spacing = 1;
|
||||
val = [
|
||||
{
|
||||
type = "button";
|
||||
val = " New file";
|
||||
on_press.__raw =
|
||||
/*
|
||||
lua
|
||||
*/
|
||||
"function() vim.cmd[[enew]] end";
|
||||
opts = {
|
||||
shortcut = "e";
|
||||
position = "center";
|
||||
hl_shortcut = "keyword";
|
||||
align_shortcut = "right";
|
||||
width = 50;
|
||||
cursor = 3;
|
||||
keymap = [
|
||||
"n"
|
||||
"e"
|
||||
":enew<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Quit Neovim";
|
||||
on_press.__raw =
|
||||
/*
|
||||
lua
|
||||
*/
|
||||
"function() vim.cmd[[qa]] end";
|
||||
opts = {
|
||||
shortcut = "q";
|
||||
position = "center";
|
||||
hl_shortcut = "keyword";
|
||||
align_shortcut = "right";
|
||||
width = 50;
|
||||
cursor = 3;
|
||||
keymap = [
|
||||
"n"
|
||||
"q"
|
||||
":qa<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
in
|
||||
[
|
||||
(padding 2)
|
||||
{
|
||||
opts = {
|
||||
hl = "Type";
|
||||
position = "center";
|
||||
};
|
||||
type = "text";
|
||||
val = [
|
||||
" ███╗ ██╗██╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ "
|
||||
" ████╗ ██║██║╚██╗██╔╝██║ ██║██║████╗ ████║ "
|
||||
" ██╔██╗ ██║██║ ╚███╔╝ ██║ ██║██║██╔████╔██║ "
|
||||
" ██║╚██╗██║██║ ██╔██╗ ╚██╗ ██╔╝██║██║╚██╔╝██║ "
|
||||
" ██║ ╚████║██║██╔╝ ██╗ ╚████╔╝ ██║██║ ╚═╝ ██║ "
|
||||
" ╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ "
|
||||
];
|
||||
}
|
||||
(padding 2)
|
||||
{
|
||||
type = "group";
|
||||
opts.spacing = 1;
|
||||
val = [
|
||||
{
|
||||
type = "button";
|
||||
val = " New file";
|
||||
on_press.__raw =
|
||||
# lua
|
||||
"function() vim.cmd[[enew]] end";
|
||||
opts = {
|
||||
shortcut = "e";
|
||||
position = "center";
|
||||
hl_shortcut = "keyword";
|
||||
align_shortcut = "right";
|
||||
width = 50;
|
||||
cursor = 3;
|
||||
keymap = [
|
||||
"n"
|
||||
"e"
|
||||
":enew<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Quit Neovim";
|
||||
on_press.__raw =
|
||||
# lua
|
||||
"function() vim.cmd[[qa]] end";
|
||||
opts = {
|
||||
shortcut = "q";
|
||||
position = "center";
|
||||
hl_shortcut = "keyword";
|
||||
align_shortcut = "right";
|
||||
width = 50;
|
||||
cursor = 3;
|
||||
keymap = [
|
||||
"n"
|
||||
"q"
|
||||
":qa<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,24 +4,42 @@
|
|||
lualine = {
|
||||
enable = true;
|
||||
settings = {
|
||||
extensions = ["fzf" "nvim-dap-ui" "symbols-outline" "trouble" "neo-tree" "quickfix" "fugitive"];
|
||||
extensions = [
|
||||
"fzf"
|
||||
"nvim-dap-ui"
|
||||
"symbols-outline"
|
||||
"trouble"
|
||||
"neo-tree"
|
||||
"quickfix"
|
||||
"fugitive"
|
||||
];
|
||||
component_separators.left = null;
|
||||
component_separators.right = null;
|
||||
sections = {
|
||||
lualine_a = ["mode"];
|
||||
lualine_b = ["branch" "filename"];
|
||||
lualine_c = ["diff" "diagnostics"];
|
||||
lualine_x = ["encoding" "fileformat" "filetype"];
|
||||
lualine_y = ["progress"];
|
||||
lualine_z = ["location"];
|
||||
lualine_a = [ "mode" ];
|
||||
lualine_b = [
|
||||
"branch"
|
||||
"filename"
|
||||
];
|
||||
lualine_c = [
|
||||
"diff"
|
||||
"diagnostics"
|
||||
];
|
||||
lualine_x = [
|
||||
"encoding"
|
||||
"fileformat"
|
||||
"filetype"
|
||||
];
|
||||
lualine_y = [ "progress" ];
|
||||
lualine_z = [ "location" ];
|
||||
};
|
||||
inactive_sections = {
|
||||
lualine_a = ["filename"];
|
||||
lualine_b = [];
|
||||
lualine_c = ["diagnostics"];
|
||||
lualine_x = [];
|
||||
lualine_y = [];
|
||||
lualine_z = ["location"];
|
||||
lualine_a = [ "filename" ];
|
||||
lualine_b = [ ];
|
||||
lualine_c = [ "diagnostics" ];
|
||||
lualine_x = [ ];
|
||||
lualine_y = [ ];
|
||||
lualine_z = [ "location" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -25,14 +25,14 @@
|
|||
enable = true;
|
||||
settings = {
|
||||
sources = [
|
||||
{name = "nvim_lsp_signature_help";}
|
||||
{name = "nvim_lsp";}
|
||||
{name = "nvim_lsp_document_symbol";}
|
||||
{name = "path";}
|
||||
{name = "treesitter";}
|
||||
{name = "dap";}
|
||||
{ name = "nvim_lsp_signature_help"; }
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "nvim_lsp_document_symbol"; }
|
||||
{ name = "path"; }
|
||||
{ name = "treesitter"; }
|
||||
{ name = "dap"; }
|
||||
# {name = "luasnip";}
|
||||
{name = "emoji";}
|
||||
{ name = "emoji"; }
|
||||
];
|
||||
mapping = {
|
||||
"<CR>" =
|
||||
|
@ -100,7 +100,11 @@
|
|||
end, {"i", "s"})
|
||||
'';
|
||||
};
|
||||
formatting.fields = ["abbr" "kind" "menu"];
|
||||
formatting.fields = [
|
||||
"abbr"
|
||||
"kind"
|
||||
"menu"
|
||||
];
|
||||
formatting.format =
|
||||
# lua
|
||||
''
|
||||
|
|
|
@ -33,12 +33,13 @@
|
|||
# Hide line numbers in terminal windows
|
||||
autoCmd = [
|
||||
{
|
||||
event = ["BufEnter" "BufWinEnter"];
|
||||
pattern = ["term://*"];
|
||||
event = [
|
||||
"BufEnter"
|
||||
"BufWinEnter"
|
||||
];
|
||||
pattern = [ "term://*" ];
|
||||
callback.__raw =
|
||||
/*
|
||||
lua
|
||||
*/
|
||||
# lua
|
||||
''
|
||||
function()
|
||||
vim.bo.number = false
|
||||
|
@ -46,12 +47,10 @@
|
|||
'';
|
||||
}
|
||||
{
|
||||
event = ["WinEnter"];
|
||||
pattern = ["*"];
|
||||
event = [ "WinEnter" ];
|
||||
pattern = [ "*" ];
|
||||
callback.__raw =
|
||||
/*
|
||||
lua
|
||||
*/
|
||||
# lua
|
||||
''
|
||||
function()
|
||||
pcall(function()
|
||||
|
@ -67,172 +66,268 @@
|
|||
];
|
||||
|
||||
# TODO split into files
|
||||
keymaps = let
|
||||
keymap = mode: key: action: desc: {
|
||||
inherit action key mode;
|
||||
options = {
|
||||
silent = true;
|
||||
inherit desc;
|
||||
keymaps =
|
||||
let
|
||||
keymap = mode: key: action: desc: {
|
||||
inherit action key mode;
|
||||
options = {
|
||||
silent = true;
|
||||
inherit desc;
|
||||
};
|
||||
};
|
||||
};
|
||||
in [
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# General
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
in
|
||||
[
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# General
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
# Shift + <up/down> scroll with cursor locked to position
|
||||
(keymap ["n" "v"] "<S-Down>" "<C-e>" "")
|
||||
(keymap ["n" "v"] "<S-Up>" "<C-y>" "")
|
||||
(keymap ["i"] "<S-Down>" "<C-x><C-e>" "")
|
||||
(keymap ["i"] "<S-Up>" "<C-x><C-y>" "")
|
||||
# Shift + <up/down> scroll with cursor locked to position
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "<S-Down>" "<C-e>" "")
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "<S-Up>" "<C-y>" "")
|
||||
(keymap [ "i" ] "<S-Down>" "<C-x><C-e>" "")
|
||||
(keymap [ "i" ] "<S-Up>" "<C-x><C-y>" "")
|
||||
|
||||
# Shift + Alt + <arrow keys> change the current window size
|
||||
(keymap ["n"] "<M-S-Up>" ":resize -2<CR>" "")
|
||||
(keymap ["n"] "<M-S-Down>" ":resize +2<CR>" "")
|
||||
(keymap ["n"] "<M-S-Left>" ":vertical resize -2<CR>" "")
|
||||
(keymap ["n"] "<M-S-Right>" ":vertical resize +2<CR>" "")
|
||||
# Shift + Alt + <arrow keys> change the current window size
|
||||
(keymap [ "n" ] "<M-S-Up>" ":resize -2<CR>" "")
|
||||
(keymap [ "n" ] "<M-S-Down>" ":resize +2<CR>" "")
|
||||
(keymap [ "n" ] "<M-S-Left>" ":vertical resize -2<CR>" "")
|
||||
(keymap [ "n" ] "<M-S-Right>" ":vertical resize +2<CR>" "")
|
||||
|
||||
# Allow exiting terminal mode
|
||||
(keymap ["t"] "<C-w><Esc>" "<C-\\><C-n>" "")
|
||||
# Allow C-w in terminal mode
|
||||
(keymap ["t"] "<C-w>" "<C-\\><C-n><C-w>" "")
|
||||
# Allow exiting terminal mode
|
||||
(keymap [ "t" ] "<C-w><Esc>" "<C-\\><C-n>" "")
|
||||
# Allow C-w in terminal mode
|
||||
(keymap [ "t" ] "<C-w>" "<C-\\><C-n><C-w>" "")
|
||||
|
||||
# Open fixed size terminal window at the bottom
|
||||
(keymap ["n"] "<leader><CR>" ":belowright new | setlocal wfh | resize 10 | terminal<CR>" "Open Terminal")
|
||||
# Open fixed size terminal window at the bottom
|
||||
(keymap [
|
||||
"n"
|
||||
] "<leader><CR>" ":belowright new | setlocal wfh | resize 10 | terminal<CR>" "Open Terminal")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Language server
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Language server
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["n"] "gD" "<cmd>lua vim.lsp.buf.declaration()<CR>" "Goto declaration")
|
||||
(keymap ["n"] "gd" "<cmd>lua require('telescope.builtin').lsp_definitions()<CR>" "Goto definition")
|
||||
(keymap ["n"] "K" "<cmd>lua vim.lsp.buf.hover()<CR>" "Hover")
|
||||
(keymap ["n"] "gi" "<cmd>lua require('telescope.builtin').lsp_implementations()<CR>" "Goto implementation")
|
||||
(keymap ["n"] "<C-k>" "<cmd>lua vim.lsp.buf.signature_help()<CR>" "Signature Help")
|
||||
(keymap ["n"] "<leader>wa" "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>" "Add workspace folder")
|
||||
(keymap ["n"] "<leader>wr" "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>" "Remove workspace folder")
|
||||
(keymap ["n"] "<leader>wl" "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>" "List workspace folders")
|
||||
(keymap ["n"] "gt" "<cmd>lua require('telescope.builtin').lsp_type_definitions()<CR>" "Goto type-definition")
|
||||
(keymap ["n"] "<leader>r" "<cmd>lua vim.lsp.buf.rename()<CR>" "Rename")
|
||||
(keymap ["n"] "<leader>a" "<cmd>lua vim.lsp.buf.code_action()<CR>" "Code Action")
|
||||
(keymap ["n"] "gr" "<cmd>lua require('telescope.builtin').lsp_references()<CR>" "References")
|
||||
(keymap ["n"] "gl" "<cmd>lua vim.diagnostic.open_float()<CR>" "Diagnostic float")
|
||||
(keymap ["n"] "[d" "<cmd>lua vim.diagnostic.goto_prev()<CR>" "Next diagnostic")
|
||||
(keymap ["n"] "]d" "<cmd>lua vim.diagnostic.goto_next()<CR>" "Previous diagnostic")
|
||||
(keymap ["n"] "<leader>q" "<cmd>lua vim.diagnostic.setloclist()<CR>" "Show diagnostic quickfix list")
|
||||
(keymap ["n"] "<leader>f" "<cmd>lua vim.lsp.buf.format { async = true }<CR>" "Format code")
|
||||
(keymap [ "n" ] "gD" "<cmd>lua vim.lsp.buf.declaration()<CR>" "Goto declaration")
|
||||
(keymap [
|
||||
"n"
|
||||
] "gd" "<cmd>lua require('telescope.builtin').lsp_definitions()<CR>" "Goto definition")
|
||||
(keymap [ "n" ] "K" "<cmd>lua vim.lsp.buf.hover()<CR>" "Hover")
|
||||
(keymap [
|
||||
"n"
|
||||
] "gi" "<cmd>lua require('telescope.builtin').lsp_implementations()<CR>" "Goto implementation")
|
||||
(keymap [ "n" ] "<C-k>" "<cmd>lua vim.lsp.buf.signature_help()<CR>" "Signature Help")
|
||||
(keymap [
|
||||
"n"
|
||||
] "<leader>wa" "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>" "Add workspace folder")
|
||||
(keymap [
|
||||
"n"
|
||||
] "<leader>wr" "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>" "Remove workspace folder")
|
||||
(keymap [ "n" ] "<leader>wl" "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>"
|
||||
"List workspace folders"
|
||||
)
|
||||
(keymap [
|
||||
"n"
|
||||
] "gt" "<cmd>lua require('telescope.builtin').lsp_type_definitions()<CR>" "Goto type-definition")
|
||||
(keymap [ "n" ] "<leader>r" "<cmd>lua vim.lsp.buf.rename()<CR>" "Rename")
|
||||
(keymap [ "n" ] "<leader>a" "<cmd>lua vim.lsp.buf.code_action()<CR>" "Code Action")
|
||||
(keymap [ "n" ] "gr" "<cmd>lua require('telescope.builtin').lsp_references()<CR>" "References")
|
||||
(keymap [ "n" ] "gl" "<cmd>lua vim.diagnostic.open_float()<CR>" "Diagnostic float")
|
||||
(keymap [ "n" ] "[d" "<cmd>lua vim.diagnostic.goto_prev()<CR>" "Next diagnostic")
|
||||
(keymap [ "n" ] "]d" "<cmd>lua vim.diagnostic.goto_next()<CR>" "Previous diagnostic")
|
||||
(keymap [
|
||||
"n"
|
||||
] "<leader>q" "<cmd>lua vim.diagnostic.setloclist()<CR>" "Show diagnostic quickfix list")
|
||||
(keymap [ "n" ] "<leader>f" "<cmd>lua vim.lsp.buf.format { async = true }<CR>" "Format code")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Easy Align
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Easy Align
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["n"] "<leader>A" "<Plug>(EasyAlign)" "Easy-Align")
|
||||
(keymap ["v"] "<leader>A" "<Plug>(EasyAlign)" "Easy-Align")
|
||||
(keymap [ "n" ] "<leader>A" "<Plug>(EasyAlign)" "Easy-Align")
|
||||
(keymap [ "v" ] "<leader>A" "<Plug>(EasyAlign)" "Easy-Align")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Undotree
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Undotree
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["n"] "<leader>u" ":UndotreeToggle<CR>" "Undotree")
|
||||
(keymap [ "n" ] "<leader>u" ":UndotreeToggle<CR>" "Undotree")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Better Whitespace
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Better Whitespace
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["n"] "<leader>$" ":StripWhitespace<CR>" "Strip whitespace")
|
||||
(keymap [ "n" ] "<leader>$" ":StripWhitespace<CR>" "Strip whitespace")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Neotree
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Neotree
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
# Mappings to open the tree / find the current file
|
||||
(keymap ["n"] "<leader>t" ":Neotree toggle<CR>" "Filetree toggle")
|
||||
(keymap ["n"] "<leader>T" ":Neotree reveal<CR>" "Filetree reveal current file")
|
||||
(keymap ["n"] "<leader>G" ":Neotree float git_status<CR>" "Show git status")
|
||||
(keymap ["n"] "<leader>b" ":Neotree float buffers<CR>" "Show open buffers")
|
||||
# Mappings to open the tree / find the current file
|
||||
(keymap [ "n" ] "<leader>t" ":Neotree toggle<CR>" "Filetree toggle")
|
||||
(keymap [ "n" ] "<leader>T" ":Neotree reveal<CR>" "Filetree reveal current file")
|
||||
(keymap [ "n" ] "<leader>G" ":Neotree float git_status<CR>" "Show git status")
|
||||
(keymap [ "n" ] "<leader>b" ":Neotree float buffers<CR>" "Show open buffers")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Sandwich
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Sandwich
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["n" "v"] "m" "<Plug>(operator-sandwich-add)" "Sandwich Add")
|
||||
(keymap ["n" "v"] "M" "<Plug>(operator-sandwich-delete)" "Sandwich Delete")
|
||||
(keymap ["n" "v"] "<C-m>" "<Plug>(operator-sandwich-replace)" "Sandwich Replace")
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "m" "<Plug>(operator-sandwich-add)" "Sandwich Add")
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "M" "<Plug>(operator-sandwich-delete)" "Sandwich Delete")
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "<C-m>" "<Plug>(operator-sandwich-replace)" "Sandwich Replace")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: gomove
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: gomove
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
#(keymap ["n"] "<M-Left>" "<Plug>GoNSMLeft" "")
|
||||
#(keymap ["n"] "<M-Down>" "<Plug>GoNSMDown" "")
|
||||
#(keymap ["n"] "<M-Up>" "<Plug>GoNSMUp" "")
|
||||
#(keymap ["n"] "<M-Right>" "<Plug>GoNSMRight" "")
|
||||
#(keymap ["n"] "<M-Left>" "<Plug>GoNSMLeft" "")
|
||||
#(keymap ["n"] "<M-Down>" "<Plug>GoNSMDown" "")
|
||||
#(keymap ["n"] "<M-Up>" "<Plug>GoNSMUp" "")
|
||||
#(keymap ["n"] "<M-Right>" "<Plug>GoNSMRight" "")
|
||||
|
||||
(keymap ["x"] "<M-Left>" "<Plug>GoVSMLeft" "")
|
||||
(keymap ["x"] "<M-Down>" "<Plug>GoVSMDown" "")
|
||||
(keymap ["x"] "<M-Up>" "<Plug>GoVSMUp" "")
|
||||
(keymap ["x"] "<M-Right>" "<Plug>GoVSMRight" "")
|
||||
(keymap [ "x" ] "<M-Left>" "<Plug>GoVSMLeft" "")
|
||||
(keymap [ "x" ] "<M-Down>" "<Plug>GoVSMDown" "")
|
||||
(keymap [ "x" ] "<M-Up>" "<Plug>GoVSMUp" "")
|
||||
(keymap [ "x" ] "<M-Right>" "<Plug>GoVSMRight" "")
|
||||
|
||||
#(keymap ["n"] "<S-M-Left>" "<Plug>GoNSDLeft" "")
|
||||
#(keymap ["n"] "<S-M-Down>" "<Plug>GoNSDDown" "")
|
||||
#(keymap ["n"] "<S-M-Up>" "<Plug>GoNSDUp" "")
|
||||
#(keymap ["n"] "<S-M-Right>" "<Plug>GoNSDRight" "")
|
||||
#(keymap ["n"] "<S-M-Left>" "<Plug>GoNSDLeft" "")
|
||||
#(keymap ["n"] "<S-M-Down>" "<Plug>GoNSDDown" "")
|
||||
#(keymap ["n"] "<S-M-Up>" "<Plug>GoNSDUp" "")
|
||||
#(keymap ["n"] "<S-M-Right>" "<Plug>GoNSDRight" "")
|
||||
|
||||
(keymap ["x"] "<S-M-Left>" "<Plug>GoVSDLeft" "")
|
||||
(keymap ["x"] "<S-M-Down>" "<Plug>GoVSDDown" "")
|
||||
(keymap ["x"] "<S-M-Up>" "<Plug>GoVSDUp" "")
|
||||
(keymap ["x"] "<S-M-Right>" "<Plug>GoVSDRight" "")
|
||||
(keymap [ "x" ] "<S-M-Left>" "<Plug>GoVSDLeft" "")
|
||||
(keymap [ "x" ] "<S-M-Down>" "<Plug>GoVSDDown" "")
|
||||
(keymap [ "x" ] "<S-M-Up>" "<Plug>GoVSDUp" "")
|
||||
(keymap [ "x" ] "<S-M-Right>" "<Plug>GoVSDRight" "")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: wordmotion
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: wordmotion
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["x" "o"] "ie" "<Plug>WordMotion_iw" "inside subword")
|
||||
(keymap [
|
||||
"x"
|
||||
"o"
|
||||
] "ie" "<Plug>WordMotion_iw" "inside subword")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: telescope
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: telescope
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["n" "v"] "<space><space>" "<cmd>lua require('telescope.builtin').find_files()<CR>" "Telescope find files")
|
||||
(keymap ["n" "v"] "<space>g" "<cmd>lua require('telescope.builtin').live_grep()<CR>" "Telescope live grep")
|
||||
(keymap ["n" "v"] "<space>b" "<cmd>lua require('telescope.builtin').buffers()<CR>" "Telescope buffers")
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "<space><space>" "<cmd>lua require('telescope.builtin').find_files()<CR>" "Telescope find files")
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "<space>g" "<cmd>lua require('telescope.builtin').live_grep()<CR>" "Telescope live grep")
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "<space>b" "<cmd>lua require('telescope.builtin').buffers()<CR>" "Telescope buffers")
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: textcase
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: textcase
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["n"] "<leader>C" "<cmd>TextCaseOpenTelescopeQuickChange<CR>" "Change word case")
|
||||
(keymap [ "n" ] "<leader>C" "<cmd>TextCaseOpenTelescopeQuickChange<CR>" "Change word case")
|
||||
|
||||
(keymap ["n"] "<leader>cu" "<cmd>lua require('textcase').current_word('to_upper_case')<CR><right>" "To UPPER CASE")
|
||||
(keymap ["n"] "<leader>cl" "<cmd>lua require('textcase').current_word('to_lower_case')<CR><right>" "To lower case")
|
||||
(keymap ["n"] "<leader>cs" "<cmd>lua require('textcase').current_word('to_snake_case')<CR><right>" "To snake_case")
|
||||
(keymap ["n"] "<leader>cd" "<cmd>lua require('textcase').current_word('to_dash_case')<CR><right>" "To dash-case")
|
||||
(keymap ["n"] "<leader>cn" "<cmd>lua require('textcase').current_word('to_constant_case')<CR><right>" "To CONSTANT_CASE")
|
||||
(keymap ["n"] "<leader>cd" "<cmd>lua require('textcase').current_word('to_dot_case')<CR><right>" "To dot.case")
|
||||
(keymap ["n"] "<leader>ca" "<cmd>lua require('textcase').current_word('to_phrase_case')<CR><right>" "To Phrase case")
|
||||
(keymap ["n"] "<leader>cc" "<cmd>lua require('textcase').current_word('to_camel_case')<CR><right>" "To camelCase")
|
||||
(keymap ["n"] "<leader>cp" "<cmd>lua require('textcase').current_word('to_pascal_case')<CR><right>" "To PascalCase")
|
||||
(keymap ["n"] "<leader>ct" "<cmd>lua require('textcase').current_word('to_title_case')<CR><right>" "To Title Case")
|
||||
(keymap ["n"] "<leader>cf" "<cmd>lua require('textcase').current_word('to_path_case')<CR><right>" "To path/case")
|
||||
(keymap [ "n" ] "<leader>cu" "<cmd>lua require('textcase').current_word('to_upper_case')<CR><right>"
|
||||
"To UPPER CASE"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cl" "<cmd>lua require('textcase').current_word('to_lower_case')<CR><right>"
|
||||
"To lower case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cs" "<cmd>lua require('textcase').current_word('to_snake_case')<CR><right>"
|
||||
"To snake_case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cd" "<cmd>lua require('textcase').current_word('to_dash_case')<CR><right>"
|
||||
"To dash-case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cn"
|
||||
"<cmd>lua require('textcase').current_word('to_constant_case')<CR><right>"
|
||||
"To CONSTANT_CASE"
|
||||
)
|
||||
(keymap [
|
||||
"n"
|
||||
] "<leader>cd" "<cmd>lua require('textcase').current_word('to_dot_case')<CR><right>" "To dot.case")
|
||||
(keymap [ "n" ] "<leader>ca"
|
||||
"<cmd>lua require('textcase').current_word('to_phrase_case')<CR><right>"
|
||||
"To Phrase case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cc" "<cmd>lua require('textcase').current_word('to_camel_case')<CR><right>"
|
||||
"To camelCase"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cp"
|
||||
"<cmd>lua require('textcase').current_word('to_pascal_case')<CR><right>"
|
||||
"To PascalCase"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>ct" "<cmd>lua require('textcase').current_word('to_title_case')<CR><right>"
|
||||
"To Title Case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cf" "<cmd>lua require('textcase').current_word('to_path_case')<CR><right>"
|
||||
"To path/case"
|
||||
)
|
||||
|
||||
(keymap ["n"] "<leader>cU" "<cmd>lua require('textcase').lsp_rename('to_upper_case')<CR><right>" "LSP Rename: To UPPER CASE")
|
||||
(keymap ["n"] "<leader>cL" "<cmd>lua require('textcase').lsp_rename('to_lower_case')<CR><right>" "LSP Rename: To lower case")
|
||||
(keymap ["n"] "<leader>cS" "<cmd>lua require('textcase').lsp_rename('to_snake_case')<CR><right>" "LSP Rename: To snake_case")
|
||||
(keymap ["n"] "<leader>cD" "<cmd>lua require('textcase').lsp_rename('to_dash_case')<CR><right>" "LSP Rename: To dash-case")
|
||||
(keymap ["n"] "<leader>cN" "<cmd>lua require('textcase').lsp_rename('to_constant_case')<CR><right>" "LSP Rename: To CONSTANT_CASE")
|
||||
(keymap ["n"] "<leader>cD" "<cmd>lua require('textcase').lsp_rename('to_dot_case')<CR><right>" "LSP Rename: To dot.case")
|
||||
(keymap ["n"] "<leader>cA" "<cmd>lua require('textcase').lsp_rename('to_phrase_case')<CR><right>" "LSP Rename: To Phrase case")
|
||||
(keymap ["n"] "<leader>cC" "<cmd>lua require('textcase').lsp_rename('to_camel_case')<CR><right>" "LSP Rename: To camelCase")
|
||||
(keymap ["n"] "<leader>cP" "<cmd>lua require('textcase').lsp_rename('to_pascal_case')<CR><right>" "LSP Rename: To PascalCase")
|
||||
(keymap ["n"] "<leader>cT" "<cmd>lua require('textcase').lsp_rename('to_title_case')<CR><right>" "LSP Rename: To Title Case")
|
||||
(keymap ["n"] "<leader>cF" "<cmd>lua require('textcase').lsp_rename('to_path_case')<CR><right>" "LSP Rename: To path/case")
|
||||
(keymap [ "n" ] "<leader>cU" "<cmd>lua require('textcase').lsp_rename('to_upper_case')<CR><right>"
|
||||
"LSP Rename: To UPPER CASE"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cL" "<cmd>lua require('textcase').lsp_rename('to_lower_case')<CR><right>"
|
||||
"LSP Rename: To lower case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cS" "<cmd>lua require('textcase').lsp_rename('to_snake_case')<CR><right>"
|
||||
"LSP Rename: To snake_case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cD" "<cmd>lua require('textcase').lsp_rename('to_dash_case')<CR><right>"
|
||||
"LSP Rename: To dash-case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cN"
|
||||
"<cmd>lua require('textcase').lsp_rename('to_constant_case')<CR><right>"
|
||||
"LSP Rename: To CONSTANT_CASE"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cD" "<cmd>lua require('textcase').lsp_rename('to_dot_case')<CR><right>"
|
||||
"LSP Rename: To dot.case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cA" "<cmd>lua require('textcase').lsp_rename('to_phrase_case')<CR><right>"
|
||||
"LSP Rename: To Phrase case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cC" "<cmd>lua require('textcase').lsp_rename('to_camel_case')<CR><right>"
|
||||
"LSP Rename: To camelCase"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cP" "<cmd>lua require('textcase').lsp_rename('to_pascal_case')<CR><right>"
|
||||
"LSP Rename: To PascalCase"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cT" "<cmd>lua require('textcase').lsp_rename('to_title_case')<CR><right>"
|
||||
"LSP Rename: To Title Case"
|
||||
)
|
||||
(keymap [ "n" ] "<leader>cF" "<cmd>lua require('textcase').lsp_rename('to_path_case')<CR><right>"
|
||||
"LSP Rename: To path/case"
|
||||
)
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Neogit
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Plugin: Neogit
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
(keymap ["n" "v"] "<leader>g" "<cmd>lua require('neogit').open()<CR>" "Open Neogit")
|
||||
];
|
||||
(keymap [
|
||||
"n"
|
||||
"v"
|
||||
] "<leader>g" "<cmd>lua require('neogit').open()<CR>" "Open Neogit")
|
||||
];
|
||||
};
|
||||
|
||||
home.sessionVariables.EDITOR = "nvim";
|
||||
|
|
|
@ -22,8 +22,13 @@
|
|||
|
||||
number = true; # Show line numbers
|
||||
cursorline = true; # Enable cursorline, colorscheme only shows this in number column
|
||||
wildmode = ["list" "full"]; # Only complete the longest common prefix and list all results
|
||||
fillchars = {stlnc = "─";}; # Show separators in inactive window statuslines
|
||||
wildmode = [
|
||||
"list"
|
||||
"full"
|
||||
]; # Only complete the longest common prefix and list all results
|
||||
fillchars = {
|
||||
stlnc = "─";
|
||||
}; # Show separators in inactive window statuslines
|
||||
|
||||
# FIXME: disabled because this really fucks everything up in the terminal.
|
||||
title = false; # Sets the window title
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
files."ftplugin/nix.lua".extraConfigLua = ''
|
||||
vim.opt_local.expandtab = true
|
||||
|
@ -37,22 +38,24 @@
|
|||
rustaceanvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
server.default_settings.files.excludeDirs = [".direnv"];
|
||||
server.default_settings.files.excludeDirs = [ ".direnv" ];
|
||||
dap.autoloadConfigurations = true;
|
||||
dap.adapter = let
|
||||
code-lldb = pkgs.vscode-extensions.vadimcn.vscode-lldb;
|
||||
in {
|
||||
executable.command = "${code-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb";
|
||||
executable.args = [
|
||||
"--liblldb"
|
||||
"${code-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/lldb/lib/liblldb.dylib"
|
||||
"--port"
|
||||
"31337"
|
||||
];
|
||||
type = "server";
|
||||
port = "31337";
|
||||
host = "127.0.0.1";
|
||||
};
|
||||
dap.adapter =
|
||||
let
|
||||
code-lldb = pkgs.vscode-extensions.vadimcn.vscode-lldb;
|
||||
in
|
||||
{
|
||||
executable.command = "${code-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb";
|
||||
executable.args = [
|
||||
"--liblldb"
|
||||
"${code-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/lldb/lib/liblldb.dylib"
|
||||
"--port"
|
||||
"31337"
|
||||
];
|
||||
type = "server";
|
||||
port = "31337";
|
||||
host = "127.0.0.1";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
nvim-jdtls = {
|
||||
enable = true;
|
||||
|
@ -14,9 +15,7 @@
|
|||
lsp = {
|
||||
enable = true;
|
||||
preConfig =
|
||||
/*
|
||||
lua
|
||||
*/
|
||||
# lua
|
||||
''
|
||||
local lsp_symbol = function(name, icon)
|
||||
vim.fn.sign_define(
|
||||
|
@ -38,7 +37,10 @@
|
|||
nil_ls = {
|
||||
enable = true;
|
||||
settings = {
|
||||
formatting.command = [(lib.getExe pkgs.nixfmt-rfc-style) "--quiet"];
|
||||
formatting.command = [
|
||||
(lib.getExe pkgs.nixfmt-rfc-style)
|
||||
"--quiet"
|
||||
];
|
||||
};
|
||||
};
|
||||
nixd.enable = true;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
notify = {
|
||||
|
@ -24,12 +25,15 @@
|
|||
# Fzf picker for arbitrary stuff
|
||||
telescope = {
|
||||
enable = true;
|
||||
enabledExtensions = ["fzf" "notify" "ui-select" "textcase"];
|
||||
enabledExtensions = [
|
||||
"fzf"
|
||||
"notify"
|
||||
"ui-select"
|
||||
"textcase"
|
||||
];
|
||||
extensions.fzf-native.enable = true;
|
||||
settings.defaults.mappings.i."<esc>".__raw =
|
||||
/*
|
||||
lua
|
||||
*/
|
||||
# lua
|
||||
''
|
||||
function(...)
|
||||
return require("telescope.actions").close(...)
|
||||
|
@ -80,9 +84,7 @@
|
|||
];
|
||||
|
||||
extraConfigLuaPre =
|
||||
/*
|
||||
lua
|
||||
*/
|
||||
# lua
|
||||
''
|
||||
vim.g.operator_sandwich_no_default_key_mappings = 1
|
||||
vim.g.textobj_sandwich_no_default_key_mappings = 1
|
||||
|
@ -91,9 +93,7 @@
|
|||
'';
|
||||
|
||||
extraConfigLuaPost =
|
||||
/*
|
||||
lua
|
||||
*/
|
||||
# lua
|
||||
''
|
||||
require("window-picker").setup {
|
||||
hint = "floating-big-letter",
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
useLibuvFileWatcher = true;
|
||||
filteredItems = {
|
||||
hideDotfiles = false;
|
||||
hideByName = [".git"];
|
||||
hideByName = [ ".git" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.nixvim = {
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
# navarasu's one dark
|
||||
|
@ -11,74 +12,74 @@
|
|||
|
||||
extraConfigLua =
|
||||
lib.mkBefore
|
||||
# lua
|
||||
''
|
||||
local onedark = require "onedark"
|
||||
onedark.setup {
|
||||
toggle_style_key = "<nop>",
|
||||
colors = {
|
||||
fg = "#abb2bf",
|
||||
black = "#181a1f",
|
||||
bg0 = "#1e222a",
|
||||
bg1 = "#252931",
|
||||
bg2 = "#282c34",
|
||||
bg3 = "#353b45",
|
||||
bg_d = "#191c21",
|
||||
bg_blue = "#73b8f1",
|
||||
bg_yellow = "#ebd09c",
|
||||
# lua
|
||||
''
|
||||
local onedark = require "onedark"
|
||||
onedark.setup {
|
||||
toggle_style_key = "<nop>",
|
||||
colors = {
|
||||
fg = "#abb2bf",
|
||||
black = "#181a1f",
|
||||
bg0 = "#1e222a",
|
||||
bg1 = "#252931",
|
||||
bg2 = "#282c34",
|
||||
bg3 = "#353b45",
|
||||
bg_d = "#191c21",
|
||||
bg_blue = "#73b8f1",
|
||||
bg_yellow = "#ebd09c",
|
||||
|
||||
dark_cyan = "#2b6f77",
|
||||
dark_red = "#993939",
|
||||
dark_yellow = "#93691d",
|
||||
dark_cyan = "#2b6f77",
|
||||
dark_red = "#993939",
|
||||
dark_yellow = "#93691d",
|
||||
|
||||
grey = "#42464e",
|
||||
grey_fg = "#565c64",
|
||||
grey_fg2 = "#6f737b",
|
||||
light_grey = "#6f737b",
|
||||
baby_pink = "#de8c92",
|
||||
pink = "#ff75a0",
|
||||
nord_blue = "#81a1c1",
|
||||
sun = "#ebcb8b",
|
||||
light_purple = "#de98fd",
|
||||
dark_purple = "#c882e7",
|
||||
teal = "#519aba",
|
||||
dark_pink = "#fca2aa",
|
||||
light_blue = "#a3b8ef",
|
||||
vibrant_green = "#7eca9c",
|
||||
grey = "#42464e",
|
||||
grey_fg = "#565c64",
|
||||
grey_fg2 = "#6f737b",
|
||||
light_grey = "#6f737b",
|
||||
baby_pink = "#de8c92",
|
||||
pink = "#ff75a0",
|
||||
nord_blue = "#81a1c1",
|
||||
sun = "#ebcb8b",
|
||||
light_purple = "#de98fd",
|
||||
dark_purple = "#c882e7",
|
||||
teal = "#519aba",
|
||||
dark_pink = "#fca2aa",
|
||||
light_blue = "#a3b8ef",
|
||||
vibrant_green = "#7eca9c",
|
||||
|
||||
red = "#e06c75",
|
||||
orange = "#d19a66",
|
||||
yellow = "#e5c07b",
|
||||
green = "#98c379",
|
||||
cyan = "#56b6c2",
|
||||
blue = "#61afef",
|
||||
purple = "#c678dd",
|
||||
red = "#e06c75",
|
||||
orange = "#d19a66",
|
||||
yellow = "#e5c07b",
|
||||
green = "#98c379",
|
||||
cyan = "#56b6c2",
|
||||
blue = "#61afef",
|
||||
purple = "#c678dd",
|
||||
|
||||
diff_add = "#31392b",
|
||||
diff_delete = "#382b2c",
|
||||
diff_change = "#1c3448",
|
||||
diff_text = "#2c5372",
|
||||
},
|
||||
highlights = {
|
||||
CursorLine = { bg = "$bg0" },
|
||||
FloatBorder = { fg = "$blue" },
|
||||
NeoTreeTabActive = { fg = "$fg", bg = "$bg_d" },
|
||||
NeoTreeTabInactive = { fg = "$grey", bg = "$black" },
|
||||
NeoTreeTabSeparatorActive = { fg = "$black", bg = "$black" },
|
||||
NeoTreeTabSeparatorInactive = { fg = "$black", bg = "$black" },
|
||||
NeoTreeWinSeparator = { fg = "$bg_d", bg = "$bg_d" },
|
||||
NeoTreeVertSplit = { fg = "$bg_d", bg = "$bg_d" },
|
||||
VisualMultiMono = { fg = "$purple", bg = "$diff_change" },
|
||||
VisualMultiExtend = { bg = "$diff_change" },
|
||||
VisualMultiCursor = { fg = "$purple", bg = "$diff_change" },
|
||||
VisualMultiInsert = { fg = "$blue", bg = "$diff_change" },
|
||||
},
|
||||
}
|
||||
vim.g.VM_Mono_hl = "VisualMultiMono"
|
||||
vim.g.VM_Extend_hl = "VisualMultiExtend"
|
||||
vim.g.VM_Cursor_hl = "VisualMultiCursor"
|
||||
vim.g.VM_Insert_hl = "VisualMultiInsert"
|
||||
onedark.load()
|
||||
'';
|
||||
diff_add = "#31392b",
|
||||
diff_delete = "#382b2c",
|
||||
diff_change = "#1c3448",
|
||||
diff_text = "#2c5372",
|
||||
},
|
||||
highlights = {
|
||||
CursorLine = { bg = "$bg0" },
|
||||
FloatBorder = { fg = "$blue" },
|
||||
NeoTreeTabActive = { fg = "$fg", bg = "$bg_d" },
|
||||
NeoTreeTabInactive = { fg = "$grey", bg = "$black" },
|
||||
NeoTreeTabSeparatorActive = { fg = "$black", bg = "$black" },
|
||||
NeoTreeTabSeparatorInactive = { fg = "$black", bg = "$black" },
|
||||
NeoTreeWinSeparator = { fg = "$bg_d", bg = "$bg_d" },
|
||||
NeoTreeVertSplit = { fg = "$bg_d", bg = "$bg_d" },
|
||||
VisualMultiMono = { fg = "$purple", bg = "$diff_change" },
|
||||
VisualMultiExtend = { bg = "$diff_change" },
|
||||
VisualMultiCursor = { fg = "$purple", bg = "$diff_change" },
|
||||
VisualMultiInsert = { fg = "$blue", bg = "$diff_change" },
|
||||
},
|
||||
}
|
||||
vim.g.VM_Mono_hl = "VisualMultiMono"
|
||||
vim.g.VM_Extend_hl = "VisualMultiExtend"
|
||||
vim.g.VM_Cursor_hl = "VisualMultiCursor"
|
||||
vim.g.VM_Insert_hl = "VisualMultiInsert"
|
||||
onedark.load()
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{config, ...}: {
|
||||
{ config, ... }:
|
||||
{
|
||||
home.file.".ssh/yubikey.pub".text = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA5Uq+CDy5Pmt3If5M6d8K/Q7HArU6sZ7sgoj3T521Wm";
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
|
|
|
@ -3,10 +3,13 @@
|
|||
globals,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
users.users.root = {
|
||||
inherit (globals.root) hashedPassword;
|
||||
openssh.authorizedKeys.keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA5Uq+CDy5Pmt3If5M6d8K/Q7HArU6sZ7sgoj3T521Wm"];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA5Uq+CDy5Pmt3If5M6d8K/Q7HArU6sZ7sgoj3T521Wm"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue