more refactor. adding shikane
This commit is contained in:
parent
14ad4cd2c5
commit
7b26c73b59
18 changed files with 851 additions and 764 deletions
43
modules/home/email.nix
Normal file
43
modules/home/email.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
accounts.email = {
|
||||
maildirBasePath = "/home/emenel/.maildir";
|
||||
accounts = {
|
||||
"matt@emenel.ca" = {
|
||||
address = "matt@emenel.ca";
|
||||
realName = "Matt Nish-Lapidus";
|
||||
primary = true;
|
||||
mu.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
};
|
||||
msmtp.enable = true;
|
||||
flavor = "fastmail.com";
|
||||
passwordCommand = "rbw get mu4e-fastmail";
|
||||
};
|
||||
|
||||
"admin@studyoftime.org" = {
|
||||
address = "admin@studyoftime.org";
|
||||
realName = "ISST Web Admin";
|
||||
mu.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
};
|
||||
msmtp.enable = true;
|
||||
passwordCommand = "rbw get admin@studyoftime";
|
||||
imap.host = "imap.dreamhost.com";
|
||||
smtp.host = "imap.dreamhost.com";
|
||||
userName = "admin@studyoftime.org";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
mu.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
};
|
||||
msmtp.enable = true;
|
||||
};
|
||||
}
|
53
modules/home/gnome.nix
Normal file
53
modules/home/gnome.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
gnomeExtensions.just-perfection
|
||||
gnomeExtensions.dash-to-dock
|
||||
gnomeExtensions.paperwm
|
||||
gnomeExtensions.custom-hot-corners-extended
|
||||
gnomeExtensions.media-controls
|
||||
gnomeExtensions.looking-glass-button
|
||||
gnomeExtensions.auto-power-profile
|
||||
gnomeExtensions.appindicator
|
||||
gnome-software
|
||||
gnome-tweaks
|
||||
gnome-photos
|
||||
gnome-keyring
|
||||
];
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/background" = {
|
||||
picture-options = "none";
|
||||
primary-color = "#000000";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
|
||||
"org/gnome/shell/keybindings" = {
|
||||
shift-overview-up = ["disabled"];
|
||||
shift-overview-down = ["disabled"];
|
||||
switch-to-application-1 = ["disabled"];
|
||||
switch-to-application-2 = ["disabled"];
|
||||
switch-to-application-3 = ["disabled"];
|
||||
switch-to-application-4 = ["disabled"];
|
||||
switch-to-application-5 = ["disabled"];
|
||||
switch-to-application-6 = ["disabled"];
|
||||
switch-to-application-7 = ["disabled"];
|
||||
switch-to-application-8 = ["disabled"];
|
||||
switch-to-application-9 = ["disabled"];
|
||||
switch-to-application-10 = ["disabled"];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
switch-to-workspace-up = ["disabled"];
|
||||
switch-to-workspace-down = ["disabled"];
|
||||
move-to-workspace-up = ["disabled"];
|
||||
move-to-workspace-down = ["disabled"];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
|
@ -8,52 +8,41 @@
|
|||
lock_cmd = "pidof hyprlock || hyprlock";
|
||||
before_sleep_cmd = "loginctl lock-session";
|
||||
};
|
||||
# TODO: add monitor shut off timout
|
||||
|
||||
# battery timers
|
||||
listener = [
|
||||
{
|
||||
timeout = 30;
|
||||
on-timeout = "systemd-ac-power || light -S 0";
|
||||
on-resume = "systemd-ac-power || light -I";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "30";
|
||||
on-timeout = "systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 0";
|
||||
on-resume = "systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 40";
|
||||
on-timeout = "systemd-ac-power || light -S 0 && light -s razer/0003:1532:02B6.0004/backlight -S 0";
|
||||
on-resume = "systemd-ac-power || light -I && light -s razer/0003:1532:02B6.0004/backlight -S 40";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "120";
|
||||
on-timeout = "systemd-ac-power || systemd-ac-power && loginctl lock-session";
|
||||
on-timeout = "systemd-ac-power || loginctl lock-session && niri msg action power-off-monitors";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "600";
|
||||
on-timeout = "systemd-ac-power || systemctl suspend";
|
||||
timeout = "300";
|
||||
on-timeout = "systemd-ac-power || loginctl lock-session && systemctl suspend";
|
||||
}
|
||||
|
||||
# ac power timers
|
||||
{
|
||||
timeout = "60";
|
||||
on-timeout = "systemd-ac-power && light -S 0";
|
||||
on-resume = "systemd-ac-power && light -I";
|
||||
on-timeout = "systemd-ac-power && light -S 0 && light -s razer/0003:1532:02B6.0004/backlight -S 0";
|
||||
on-resume = "systemd-ac-power && light -I && light -s razer/0003:1532:02B6.0004/backlight -S 40";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "60";
|
||||
on-timeout = "systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 0";
|
||||
on-resume = "systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 40";
|
||||
}
|
||||
{ timeout = "180";
|
||||
on-timeout = "systemd-ac-power && loginctl lock-session"; }
|
||||
|
||||
{ timeout = "300";
|
||||
on-timeout = "systemd-ac-power && loginctl lock-session && niri msg action power-off-monitors"; }
|
||||
|
||||
{
|
||||
timeout = "300";
|
||||
on-timeout = "systemd-ac-power && loginctl lock-session";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "1800";
|
||||
on-timeout = "systemd-ac-power && systemctl suspend";
|
||||
timeout = "900";
|
||||
on-timeout = "systemd-ac-power && loginctl lock-session && systemctl suspend";
|
||||
}
|
||||
];
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
fade_on_empty = false;
|
||||
check_color = "rgb(204, 136, 34)";
|
||||
placeholder_text = "<i><span foreground=\"##cdd6f4\">hm ...</span></i>";
|
||||
hide_input = false;
|
||||
hide_input = false;
|
||||
position = "0, 0";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
|
|
10
modules/home/kanshi.nix
Normal file
10
modules/home/kanshi.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
|
||||
profiles
|
||||
|
||||
};
|
||||
}
|
|
@ -22,7 +22,9 @@
|
|||
|
||||
markup=true;
|
||||
actions=true;
|
||||
format="<b>%s</b>\n%b";
|
||||
format=''
|
||||
<b>%s</b>\n%b
|
||||
'';
|
||||
defaultTimeout=5000;
|
||||
ignoreTimeout=false;
|
||||
};
|
||||
|
|
344
modules/home/niri.nix
Normal file
344
modules/home/niri.nix
Normal file
|
@ -0,0 +1,344 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
programs = {
|
||||
waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
};
|
||||
eww = {
|
||||
enable = true;
|
||||
configDir = ../../homes/emenel/dotfiles/dot_config/eww;
|
||||
};
|
||||
|
||||
niri = {
|
||||
package = pkgs.niri-unstable;
|
||||
enable = true;
|
||||
settings = {
|
||||
hotkey-overlay.skip-at-startup = true;
|
||||
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
||||
prefer-no-csd = true;
|
||||
|
||||
spawn-at-startup = [
|
||||
{ command = ["maestral_qt"]; }
|
||||
# { command = ["xwayland-satellite" ":0"]; }
|
||||
{ command = ["clipse" "-listen"]; }
|
||||
# { command = ["waybar"]; }
|
||||
{ command = ["swayosd-server"]; }
|
||||
{ command = ["plexamp"]; }
|
||||
{ command = [ "systemctl --user restart waybar.service mako.service hypridle.service xwayland-satellite.service" ]; }
|
||||
# { command = ["hypridle"]; }
|
||||
];
|
||||
|
||||
workspaces = {
|
||||
"main" = {};
|
||||
"scratchpad" = {};
|
||||
};
|
||||
|
||||
input = {
|
||||
keyboard.xkb.layout = "us";
|
||||
|
||||
touchpad = {
|
||||
natural-scroll = true;
|
||||
scroll-method = "two-finger";
|
||||
dwt = true;
|
||||
tap = false;
|
||||
tap-button-map = "left-right-middle";
|
||||
click-method = "clickfinger";
|
||||
};
|
||||
|
||||
mouse = {
|
||||
natural-scroll = true;
|
||||
accel-speed = 0.1;
|
||||
accel-profile = "adaptive";
|
||||
};
|
||||
|
||||
workspace-auto-back-and-forth = true;
|
||||
};
|
||||
|
||||
outputs = {
|
||||
"eDP-1" = {
|
||||
mode = {
|
||||
height = 2560;
|
||||
width = 1600;
|
||||
};
|
||||
background-color = "#000000";
|
||||
scale = 1;
|
||||
};
|
||||
|
||||
"PNP(BNQ) BenQ PD2725U N2N00414019" = {
|
||||
mode = {
|
||||
height = 3840;
|
||||
width = 2160;
|
||||
refresh = 59.997;
|
||||
};
|
||||
background-color = "#000000";
|
||||
scale = 1;
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
DISPLAY = ":0";
|
||||
QT_QPA_PLATFORM = "wayland";
|
||||
XDG_CURRENT_DESKTOP = "niri";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
theme = "Bibata-Modern-Classic";
|
||||
size = 32;
|
||||
hide-after-inactive-ms = 30000;
|
||||
};
|
||||
|
||||
animations.slowdown = 1.0;
|
||||
|
||||
layout = {
|
||||
gaps = 10;
|
||||
center-focused-column = "never";
|
||||
always-center-single-column = true;
|
||||
|
||||
preset-column-widths = [
|
||||
{ proportion = 0.33333; }
|
||||
{ proportion = 0.5; }
|
||||
{ proportion = 0.66667; }
|
||||
];
|
||||
|
||||
preset-window-heights = [
|
||||
{ proportion = 1. / 3.; }
|
||||
{ proportion = 1. / 2.; }
|
||||
{ proportion = 2. / 3.; }
|
||||
];
|
||||
|
||||
default-column-width = { proportion = 0.5; };
|
||||
|
||||
focus-ring = {
|
||||
enable = true;
|
||||
active.gradient = {
|
||||
from = "#d8bfffdd";
|
||||
to = "#BD93FF99";
|
||||
angle = 0;
|
||||
in' = "srgb-linear";
|
||||
};
|
||||
width = 2;
|
||||
};
|
||||
|
||||
border = {
|
||||
enable = true;
|
||||
inactive = {
|
||||
gradient = {
|
||||
from = "#333333";
|
||||
to = "#000000";
|
||||
angle = 180;
|
||||
in' = "srgb-linear";
|
||||
};
|
||||
};
|
||||
active.color = "#000";
|
||||
width = 2;
|
||||
};
|
||||
};
|
||||
|
||||
window-rules = [
|
||||
# global window rule for shared config
|
||||
{ geometry-corner-radius = {
|
||||
top-left = 8.0;
|
||||
top-right = 8.0;
|
||||
bottom-left = 8.0;
|
||||
bottom-right = 8.0;
|
||||
};
|
||||
clip-to-geometry = true; }
|
||||
|
||||
{ matches = [
|
||||
{app-id="Calculator";}
|
||||
{app-id="Color Picker";}
|
||||
{app-id="Volume Control";}
|
||||
];
|
||||
open-floating = true; }
|
||||
|
||||
{ matches = [
|
||||
{app-id="Plexamp";}
|
||||
{app-id="scratchpad";}
|
||||
];
|
||||
open-on-workspace = "scratchpad";
|
||||
open-floating = true; }
|
||||
|
||||
{ matches = [{app-id="launcher";}];
|
||||
open-floating = true; }
|
||||
|
||||
# Open the Firefox picture-in-picture player as floating by default.
|
||||
{ # This app-id regular expression will work for both:
|
||||
# host Firefox (app-id is "firefox")
|
||||
# Flatpak Firefox (app-id is "org.mozilla.firefox")
|
||||
matches = [ { app-id= "r#\"firefox$\"# title=\"^Picture-in-Picture$\""; } ];
|
||||
open-floating = true; }
|
||||
];
|
||||
|
||||
binds = with config.lib.niri.actions; let
|
||||
wez = spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--always-new-process";
|
||||
wezlaunch = wez "--class" "launcher";
|
||||
in {
|
||||
# shows a list of important hotkeys.
|
||||
"Mod+Shift+Slash".action = show-hotkey-overlay;
|
||||
|
||||
"Mod+Space".action = wezlaunch "sway-launcher-desktop";
|
||||
|
||||
"Mod+Ctrl+T".action = spawn "wezterm";
|
||||
"Mod+Ctrl+E".action = spawn "emacsclient" "-r" "-n";
|
||||
"Mod+Ctrl+B".action = spawn "firefox";
|
||||
"Mod+Ctrl+V".action = wezlaunch "clipse";
|
||||
"Mod+Ctrl+F".action = wez "yazi";
|
||||
|
||||
"Mod+Shift+A".action = spawn "hyprlock";
|
||||
|
||||
"XF86AudioRaiseVolume" = {
|
||||
allow-when-locked = true;
|
||||
action = spawn "swayosd-client" "--output-volume" "raise";
|
||||
};
|
||||
|
||||
"XF86AudioLowerVolume" = {
|
||||
allow-when-locked=true;
|
||||
action = spawn "swayosd-client" "--output-volume" "lower";
|
||||
};
|
||||
|
||||
"XF86AudioMute" = {
|
||||
allow-when-locked=true;
|
||||
action = spawn "swayosd-client" "--output-volume" "mute-toggle";
|
||||
};
|
||||
|
||||
"XF86AudioMicMute" = {
|
||||
allow-when-locked=true;
|
||||
action = spawn "swayosd-client" "--input-volume" "mute-toggle";
|
||||
};
|
||||
|
||||
"XF86MonBrightnessUp" = {
|
||||
allow-when-locked=true;
|
||||
action = spawn "swayosd-client" "--brightness" "raise";
|
||||
};
|
||||
|
||||
"XF86MonBrightnessDown" = {
|
||||
allow-when-locked=true;
|
||||
action = spawn "swayosd-client" "--brightness" "lower";
|
||||
};
|
||||
|
||||
"Mod+Q".action = close-window;
|
||||
|
||||
"Mod+Left".action = focus-column-left;
|
||||
"Mod+Down".action = focus-window-down;
|
||||
"Mod+Up".action = focus-window-up;
|
||||
"Mod+Right".action = focus-column-right;
|
||||
"Mod+H".action = focus-column-left;
|
||||
"Mod+J".action = focus-window-down;
|
||||
"Mod+K".action = focus-window-up;
|
||||
"Mod+L".action = focus-column-right;
|
||||
|
||||
"Mod+Ctrl+Left".action = move-column-left;
|
||||
"Mod+Ctrl+Down".action = move-window-down;
|
||||
"Mod+Ctrl+Up".action = move-window-up;
|
||||
"Mod+Ctrl+Right".action = move-column-right;
|
||||
"Mod+Ctrl+H".action = move-column-left;
|
||||
"Mod+Ctrl+J".action = move-window-down;
|
||||
"Mod+Ctrl+K".action = move-window-up;
|
||||
"Mod+Ctrl+L".action = move-column-right;
|
||||
|
||||
"Mod+Home".action = focus-column-first;
|
||||
"Mod+End".action = focus-column-last;
|
||||
"Mod+Ctrl+Home".action = move-column-to-first;
|
||||
"Mod+Ctrl+End".action = move-column-to-last;
|
||||
|
||||
"Mod+Shift+Left".action = focus-monitor-left;
|
||||
"Mod+Shift+Down".action = focus-monitor-down;
|
||||
"Mod+Shift+Up".action = focus-monitor-up;
|
||||
"Mod+Shift+Right".action = focus-monitor-right;
|
||||
"Mod+Shift+H".action = focus-monitor-left;
|
||||
"Mod+Shift+J".action = focus-monitor-down;
|
||||
"Mod+Shift+K".action = focus-monitor-up;
|
||||
"Mod+Shift+L".action = focus-monitor-right;
|
||||
|
||||
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
|
||||
"Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down;
|
||||
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up;
|
||||
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
|
||||
"Mod+Shift+Ctrl+H".action = move-column-to-monitor-left;
|
||||
"Mod+Shift+Ctrl+J".action = move-column-to-monitor-down;
|
||||
"Mod+Shift+Ctrl+K".action = move-column-to-monitor-up;
|
||||
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right;
|
||||
|
||||
"Mod+Page_Down".action = focus-workspace-down;
|
||||
"Mod+Page_Up".action = focus-workspace-up;
|
||||
"Mod+U".action = focus-workspace-down;
|
||||
"Mod+I".action = focus-workspace-up;
|
||||
"Mod+Alt+Down".action = move-column-to-workspace-down;
|
||||
"Mod+Alt+Up".action = move-column-to-workspace-up;
|
||||
"Mod+Ctrl+U".action = move-column-to-workspace-down;
|
||||
"Mod+Ctrl+I".action = move-column-to-workspace-up;
|
||||
|
||||
"Mod+Shift+Page_Down".action = move-workspace-down;
|
||||
"Mod+Shift+Page_Up".action = move-workspace-up;
|
||||
"Mod+Shift+U".action = move-workspace-down;
|
||||
"Mod+Shift+I".action = move-workspace-up;
|
||||
|
||||
"Mod+WheelScrollDown" = {
|
||||
action = focus-workspace-down;
|
||||
cooldown-ms = 150;
|
||||
};
|
||||
"Mod+WheelScrollUp" = {
|
||||
action = focus-workspace-up;
|
||||
cooldown-ms = 150;
|
||||
};
|
||||
"Mod+Ctrl+WheelScrollDown" = {
|
||||
action = move-column-to-workspace-down;
|
||||
cooldown-ms = 150;
|
||||
};
|
||||
"Mod+Ctrl+WheelScrollUp" = {
|
||||
action = move-column-to-workspace-up;
|
||||
cooldown-ms = 150;
|
||||
};
|
||||
|
||||
"Mod+WheelScrollRight".action = focus-column-right;
|
||||
"Mod+WheelScrollLeft".action = focus-column-left;
|
||||
"Mod+Ctrl+WheelScrollRight".action = move-column-right;
|
||||
"Mod+Ctrl+WheelScrollLeft".action = move-column-left;
|
||||
|
||||
"Mod+Shift+WheelScrollDown".action = focus-column-right;
|
||||
"Mod+Shift+WheelScrollUp".action = focus-column-left;
|
||||
"Mod+Ctrl+Shift+WheelScrollDown".action = move-column-right;
|
||||
"Mod+Ctrl+Shift+WheelScrollUp".action = move-column-left;
|
||||
|
||||
"Mod+BracketLeft".action = consume-or-expel-window-left;
|
||||
"Mod+BracketRight".action = consume-or-expel-window-right;
|
||||
"Mod+Comma".action = consume-window-into-column;
|
||||
"Mod+Period".action = expel-window-from-column;
|
||||
|
||||
"Mod+R".action = switch-preset-column-width;
|
||||
"Mod+Shift+R".action = switch-preset-window-height;
|
||||
"Mod+Ctrl+R".action = reset-window-height;
|
||||
"Mod+F".action = maximize-column;
|
||||
"Mod+Shift+F".action = fullscreen-window;
|
||||
"Mod+C".action = center-column;
|
||||
|
||||
"Mod+Minus".action = set-column-width "-10%";
|
||||
"Mod+Equal".action = set-column-width "+10%";
|
||||
"Mod+Shift+Minus".action = set-window-height "-10%";
|
||||
"Mod+Shift+Equal".action = set-window-height "+10%";
|
||||
|
||||
"Mod+Ctrl+X".action = toggle-window-floating;
|
||||
"Mod+Alt+X".action = switch-focus-between-floating-and-tiling;
|
||||
"Mod+X".action = focus-workspace "scratchpad";
|
||||
|
||||
"Print".action = screenshot;
|
||||
"Ctrl+Print".action = screenshot-screen;
|
||||
"Alt+Print".action = screenshot-window;
|
||||
|
||||
# The quit action will show a confirmation dialog to avoid accidental exits.
|
||||
"Mod+Shift+E".action = quit;
|
||||
|
||||
# Powers off the monitors. To turn them back on, do any input like
|
||||
# moving the mouse or pressing any other key.
|
||||
"Mod+Shift+P".action = power-off-monitors;
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
212
modules/home/shell-conf.nix
Normal file
212
modules/home/shell-conf.nix
Normal file
|
@ -0,0 +1,212 @@
|
|||
{ nix-config, inputs, pkgs, ... }:
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
||||
inputs.isd.packages.x86_64-linux.default
|
||||
|
||||
just
|
||||
readline
|
||||
rlwrap
|
||||
yt-dlp
|
||||
erdtree
|
||||
age
|
||||
figlet
|
||||
ffmpeg-full
|
||||
|
||||
pinentry
|
||||
gcr
|
||||
gnutar
|
||||
libnotify
|
||||
unzip
|
||||
zip
|
||||
stdenv
|
||||
tldr
|
||||
delta
|
||||
htop
|
||||
gnupg
|
||||
imagemagick
|
||||
gnutls
|
||||
gettext
|
||||
gnumake
|
||||
nix-index
|
||||
nix-du
|
||||
usbutils
|
||||
pciutils
|
||||
util-linux
|
||||
coreutils
|
||||
binutils
|
||||
editorconfig-core-c
|
||||
openssl.out
|
||||
libsecret
|
||||
samba4Full
|
||||
shellcheck
|
||||
libffi.dev
|
||||
nodejs_18
|
||||
platformio-core
|
||||
icloudpd
|
||||
pkg-config
|
||||
ftgl
|
||||
gperf
|
||||
numbat
|
||||
glpng
|
||||
nurl
|
||||
# global node packages
|
||||
nodePackages.typescript-language-server
|
||||
nodePackages.vscode-langservers-extracted
|
||||
nodePackages.prettier
|
||||
nodePackages.javascript-typescript-langserver
|
||||
nodePackages.stylelint
|
||||
nodePackages.svelte-language-server
|
||||
nodePackages.typescript
|
||||
nodePackages.js-beautify
|
||||
|
||||
nixd
|
||||
nixdoc
|
||||
nix-init
|
||||
|
||||
git-annex
|
||||
bfg-repo-cleaner
|
||||
|
||||
fishPlugins.foreign-env
|
||||
fishPlugins.fzf-fish
|
||||
fishPlugins.bass
|
||||
fishPlugins.autopair
|
||||
fishPlugins.forgit
|
||||
fishPlugins.colored-man-pages
|
||||
|
||||
imgcat
|
||||
ghostscript
|
||||
playerctl
|
||||
|
||||
|
||||
];
|
||||
|
||||
programs = {
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
"ls" = "eza";
|
||||
".j" = "just -g";
|
||||
"em" = "emacsclient -n -r";
|
||||
"mkdir" = "mkdir -pv";
|
||||
};
|
||||
interactiveShellInit = ''
|
||||
bind --erase \ct
|
||||
'';
|
||||
plugins = [
|
||||
{
|
||||
name = "upto";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Markcial";
|
||||
repo = "upto";
|
||||
rev = "2d1f35453fb55747d50da8c1cb1809840f99a646";
|
||||
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
zoxide = {
|
||||
enable = true;
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
};
|
||||
ripgrep = {
|
||||
enable = true;
|
||||
};
|
||||
thefuck = {
|
||||
enable = true;
|
||||
};
|
||||
wezterm = {
|
||||
enable = true;
|
||||
package = inputs.wezterm.packages.${pkgs.system}.default;
|
||||
# extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua;
|
||||
};
|
||||
bat = {
|
||||
enable = true;
|
||||
};
|
||||
borgmatic = {
|
||||
enable = true;
|
||||
backups = {
|
||||
eddie = {
|
||||
location = {
|
||||
patterns = [
|
||||
"R /home/emenel"
|
||||
"- home/emenel/.cache"
|
||||
"- home/emenel/.nix*"
|
||||
"- home/emenel/.steam*"
|
||||
"- home/emenel/Dropbox"
|
||||
"- home/emenel/Sync"
|
||||
"- home/emenel/.dropbox*"
|
||||
"- home/emenel/.BitwigStudio"
|
||||
"- home/emenel/.local/share/bitwig"
|
||||
];
|
||||
repositories = [
|
||||
{
|
||||
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
|
||||
"label" = "eddie on borgbase";
|
||||
}
|
||||
];
|
||||
};
|
||||
retention = {
|
||||
keepDaily = 3;
|
||||
keepHourly = 3;
|
||||
keepMonthly = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
eza = {
|
||||
enable = true;
|
||||
};
|
||||
fd = {
|
||||
enable = true;
|
||||
};
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableFishIntegration = false;
|
||||
};
|
||||
broot = {
|
||||
enable = true;
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
};
|
||||
htop.enable = true;
|
||||
lazygit.enable = true;
|
||||
jq.enable = true;
|
||||
rbw = {
|
||||
enable = true;
|
||||
package = nix-config.packages.x86_64-linux.rbw-latest;
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".ssh/config".source = ../../homes/emenel/dotfiles/dot_ssh/config;
|
||||
|
||||
xdg.configFile."starship.toml".source = ../../homes/emenel/dotfiles/dot_config/starship.toml;
|
||||
xdg.configFile."wezterm" = {
|
||||
recursive = true;
|
||||
source = ../../homes/emenel/dotfiles/dot_config/wezterm;
|
||||
};
|
||||
xdg.configFile."just/justfile".source = ../../homes/emenel/dotfiles/dot_config/just/justfile;
|
||||
xdg.configFile."git".source = ../../homes/emenel/dotfiles/dot_config/git;
|
||||
xdg.configFile."rbw".source = ../../homes/emenel/dotfiles/dot_config/rbw;
|
||||
home.file.".config/fish/functions" = {
|
||||
source = ../../homes/emenel/dotfiles/dot_config/fish/functions;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
home.file.".config/fish/completions" = {
|
||||
source = ../../homes/emenel/dotfiles/dot_config/fish/completions;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
home.file.".local/share/flf".source = ../../homes/emenel/dotfiles/dot_local/share/flf;
|
||||
|
||||
}
|
21
modules/home/shikane.nix
Normal file
21
modules/home/shikane.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = [ pkgs.shikane ];
|
||||
|
||||
systemd.user.services.shikane = {
|
||||
Unit = {
|
||||
Description = "Shikane";
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "shikane";
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."shikane".source = ../../homes/emenel/dotfiles/dot_config/shikane;
|
||||
}
|
|
@ -14,4 +14,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
xdg.configFile."yazi/theme.toml".source = ../../homes/emenel/dotfiles/dot_config/yazi/theme.toml;
|
||||
xdg.configFile."yazi/flavors".source = ../../homes/emenel/dotfiles/dot_config/yazi/flavors;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
package = pkgs.niri-unstable;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue