2024-10-15 09:45:54 +02:00
|
|
|
{ config, pkgs, ... }:
|
2024-09-30 14:40:45 +02:00
|
|
|
|
|
|
|
{
|
|
|
|
home.username = "ahurac";
|
|
|
|
home.homeDirectory = "/home/ahurac";
|
|
|
|
|
|
|
|
home.stateVersion = "24.05";
|
|
|
|
|
|
|
|
home.packages = with pkgs; [
|
2024-11-04 13:51:28 +01:00
|
|
|
catimg
|
2024-10-21 11:39:19 +02:00
|
|
|
virt-manager
|
2024-10-15 18:48:00 +02:00
|
|
|
unzip
|
2024-10-14 15:47:35 +02:00
|
|
|
jq
|
2024-10-09 13:56:33 +02:00
|
|
|
nil
|
2024-09-30 14:40:45 +02:00
|
|
|
pavucontrol
|
|
|
|
thunderbird
|
|
|
|
wl-clipboard
|
|
|
|
swayosd
|
|
|
|
prismlauncher
|
|
|
|
noto-fonts
|
|
|
|
libreoffice
|
|
|
|
mosh
|
|
|
|
gnumake
|
|
|
|
man-pages
|
|
|
|
man-pages-posix
|
|
|
|
clang-tools
|
|
|
|
gdb
|
|
|
|
gcc
|
|
|
|
valgrind
|
|
|
|
nixfmt-classic
|
2024-10-01 11:51:08 +02:00
|
|
|
cloc
|
2024-10-06 15:12:37 +02:00
|
|
|
nodejs_22
|
2024-10-06 22:30:43 +02:00
|
|
|
texliveFull
|
2024-10-07 13:45:57 +02:00
|
|
|
bash-language-server
|
2024-10-07 13:47:59 +02:00
|
|
|
shfmt
|
2024-10-07 15:17:46 +02:00
|
|
|
libnotify
|
2024-09-30 14:40:45 +02:00
|
|
|
|
|
|
|
(nerdfonts.override { fonts = [ "Hack" ]; })
|
|
|
|
];
|
|
|
|
|
|
|
|
home.sessionVariables = { EDITOR = "hx"; };
|
|
|
|
|
|
|
|
gtk = {
|
|
|
|
enable = true;
|
|
|
|
theme = {
|
|
|
|
package = pkgs.adw-gtk3;
|
|
|
|
name = "adw-gtk3-dark";
|
|
|
|
};
|
|
|
|
iconTheme = {
|
|
|
|
package = pkgs.adwaita-icon-theme;
|
|
|
|
name = "Adwaita";
|
|
|
|
};
|
2024-10-22 10:48:08 +02:00
|
|
|
font.name = "Noto Sans";
|
|
|
|
font.size = 11;
|
2024-09-30 14:40:45 +02:00
|
|
|
};
|
|
|
|
|
2024-10-15 10:47:44 +02:00
|
|
|
xdg.portal = {
|
|
|
|
enable = true;
|
|
|
|
config.common.default = [ "gnome" "gtk" ];
|
2024-10-21 11:39:05 +02:00
|
|
|
extraPortals = [ pkgs.xdg-desktop-portal-gnome ];
|
2024-10-15 10:47:44 +02:00
|
|
|
};
|
2024-10-11 19:57:49 +02:00
|
|
|
|
2024-09-30 15:36:41 +02:00
|
|
|
services.ssh-agent.enable = true;
|
|
|
|
|
2024-10-01 11:43:06 +02:00
|
|
|
services.flatpak.packages = [
|
|
|
|
"im.riot.Riot"
|
|
|
|
"io.github.spacingbat3.webcord"
|
|
|
|
"net.cozic.joplin_desktop"
|
2024-10-01 11:51:23 +02:00
|
|
|
"dev.aunetx.deezer"
|
2024-10-07 15:38:54 +02:00
|
|
|
"com.jgraph.drawio.desktop"
|
2024-10-01 11:43:06 +02:00
|
|
|
];
|
2024-10-01 11:34:48 +02:00
|
|
|
services.flatpak.update.onActivation = true;
|
|
|
|
services.flatpak.overrides = {
|
|
|
|
global = {
|
|
|
|
Context.sockets = [ "wayland" "!x11" "!fallback-x11" ];
|
|
|
|
Environment = {
|
|
|
|
XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons";
|
2024-10-01 13:47:23 +02:00
|
|
|
GTK_THEME = "adw-gtk3-dark";
|
2024-10-01 11:34:48 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-10-01 11:22:05 +02:00
|
|
|
|
2024-11-04 13:34:47 +01:00
|
|
|
programs.librewolf = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.librewolf-bin;
|
|
|
|
};
|
2024-09-30 14:40:45 +02:00
|
|
|
programs.kitty.enable = true;
|
|
|
|
|
|
|
|
programs.helix = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.evil-helix;
|
2024-10-06 15:25:36 +02:00
|
|
|
settings = { editor.soft-wrap.enable = true; };
|
2024-09-30 14:40:45 +02:00
|
|
|
languages.language = [
|
|
|
|
{
|
|
|
|
name = "nix";
|
|
|
|
auto-format = true;
|
|
|
|
formatter.command = "nixfmt";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "c";
|
|
|
|
auto-format = true;
|
|
|
|
formatter.command = "clang-format";
|
|
|
|
}
|
2024-10-07 13:49:21 +02:00
|
|
|
{
|
|
|
|
name = "bash";
|
|
|
|
auto-format = true;
|
|
|
|
formatter.command = "shfmt";
|
|
|
|
}
|
2024-09-30 14:40:45 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.rbw = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
email = "hchauvin@mailbox.org";
|
|
|
|
base_url = "https://vw.ahur.ac";
|
|
|
|
pinentry = pkgs.pinentry-curses;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
fonts.fontconfig.enable = true;
|
|
|
|
fonts.fontconfig.defaultFonts = {
|
|
|
|
sansSerif = [ "Noto Sans" ];
|
|
|
|
monospace = [ "Hack Nerd Font" ];
|
|
|
|
emoji = [ "Noto Color Emoji" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
home.pointerCursor = {
|
|
|
|
name = "Bibata-Modern-Ice";
|
|
|
|
package = pkgs.bibata-cursors;
|
|
|
|
size = 24;
|
|
|
|
gtk.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
|
|
|
aliases = {
|
|
|
|
a = "add";
|
|
|
|
c = "commit";
|
|
|
|
s = "status";
|
|
|
|
d = "diff";
|
|
|
|
ch = "checkout";
|
|
|
|
r = "restore";
|
|
|
|
re = "reset";
|
|
|
|
p = "pull";
|
|
|
|
pu = "push";
|
|
|
|
m = "merge";
|
|
|
|
l = "log";
|
|
|
|
graph = "log --graph --oneline";
|
|
|
|
sh = "show";
|
|
|
|
ds = "diff --staged";
|
|
|
|
};
|
|
|
|
userEmail = "ahurac@mailbox.org";
|
|
|
|
userName = "Ahurac";
|
|
|
|
extraConfig = {
|
|
|
|
init.defaultBranch = "main";
|
|
|
|
push.autoSetupRemote = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.zsh = {
|
|
|
|
enable = true;
|
|
|
|
shellAliases = {
|
|
|
|
g = "git";
|
|
|
|
j = "jobs";
|
2024-09-30 15:36:55 +02:00
|
|
|
sshm = "ssh -M";
|
2024-10-07 13:50:07 +02:00
|
|
|
pd = "pushd";
|
2024-10-08 11:01:32 +02:00
|
|
|
wlc = "wl-copy";
|
2024-09-30 14:40:45 +02:00
|
|
|
};
|
|
|
|
plugins = [{
|
|
|
|
name = "vi-mode";
|
|
|
|
src = pkgs.zsh-vi-mode;
|
|
|
|
file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh";
|
|
|
|
}];
|
2024-10-07 11:48:03 +02:00
|
|
|
initExtra = ''
|
|
|
|
mkcdir() {
|
|
|
|
mkdir -p -- "$@" && cd -- "$1"
|
|
|
|
}
|
2024-10-08 11:01:32 +02:00
|
|
|
|
|
|
|
getpwd() {
|
|
|
|
rbw get "$@" | wl-copy
|
|
|
|
}
|
2024-10-07 11:48:03 +02:00
|
|
|
'';
|
2024-09-30 14:40:45 +02:00
|
|
|
};
|
|
|
|
|
2024-10-22 09:54:54 +02:00
|
|
|
programs.swaylock = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
color = "202020";
|
|
|
|
font-size = 24;
|
|
|
|
font = "Noto Sans";
|
|
|
|
indicator-radius = 100;
|
|
|
|
line-uses-ring = true;
|
|
|
|
separator-color = "00000000";
|
|
|
|
};
|
|
|
|
};
|
2024-10-08 10:10:30 +02:00
|
|
|
|
|
|
|
programs.anyrun = {
|
|
|
|
enable = true;
|
2024-10-08 10:13:08 +02:00
|
|
|
package = pkgs.anyrun;
|
2024-10-08 10:10:30 +02:00
|
|
|
config = {
|
2024-10-08 10:13:08 +02:00
|
|
|
plugins = [ "libapplications.so" ];
|
2024-10-08 10:10:30 +02:00
|
|
|
x.fraction = 0.5;
|
|
|
|
y.absolute = 0;
|
|
|
|
width.absolute = 800;
|
|
|
|
height.absolute = 0;
|
|
|
|
hideIcons = false;
|
|
|
|
ignoreExclusiveZones = false;
|
|
|
|
layer = "overlay";
|
|
|
|
hidePluginInfo = false;
|
|
|
|
closeOnClick = false;
|
|
|
|
showResultsImmediately = false;
|
|
|
|
maxEntries = null;
|
|
|
|
};
|
|
|
|
extraCss = ''
|
|
|
|
#window {
|
|
|
|
background-color: rgba(0, 0, 0, 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
box#main {
|
|
|
|
border-radius: 10px;
|
|
|
|
background-color: @theme_bg_color;
|
|
|
|
margin-top: 20px;
|
|
|
|
}
|
|
|
|
|
|
|
|
list#main {
|
|
|
|
background-color: rgba(0, 0, 0, 0);
|
|
|
|
border-radius: 10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
list#plugin {
|
|
|
|
background-color: rgba(0, 0, 0, 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
label#match-desc {
|
|
|
|
font-size: 10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
label#plugin {
|
|
|
|
font-size: 14px;
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
2024-10-10 21:26:31 +02:00
|
|
|
|
2024-10-14 14:08:56 +02:00
|
|
|
programs.alacritty = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
window = {
|
|
|
|
dimensions = {
|
|
|
|
columns = 0;
|
|
|
|
lines = 0;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
colors.bright = {
|
|
|
|
blue = "0xb399ff";
|
|
|
|
cyan = "0x99e6ff";
|
|
|
|
green = "0x89f5a4";
|
|
|
|
magenta = "0xe699ff";
|
|
|
|
red = "0xff809f";
|
|
|
|
white = "0xffffff";
|
|
|
|
yellow = "0xffffb3";
|
|
|
|
};
|
|
|
|
colors.normal = {
|
|
|
|
black = "0x000000";
|
|
|
|
blue = "0x794dff";
|
|
|
|
cyan = "0x33ccff";
|
|
|
|
green = "0x13ec49";
|
|
|
|
magenta = "0xcc33ff";
|
|
|
|
red = "0xff0040";
|
|
|
|
white = "0xffffff";
|
|
|
|
yellow = "0xffff4d";
|
|
|
|
};
|
|
|
|
colors.primary = {
|
|
|
|
background = "0x000000";
|
|
|
|
foreground = "0xffffff";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-10-11 19:45:50 +02:00
|
|
|
|
|
|
|
services.mako = {
|
|
|
|
enable = true;
|
|
|
|
backgroundColor = "#202020e0";
|
|
|
|
borderColor = "#ffffff80";
|
|
|
|
borderRadius = 10;
|
|
|
|
borderSize = 1;
|
|
|
|
defaultTimeout = 4000;
|
|
|
|
font = "Noto Sans";
|
|
|
|
};
|
2024-10-14 15:04:55 +02:00
|
|
|
|
|
|
|
systemd.user.services.polkit-gnome-authentication-agent-1 = {
|
|
|
|
Unit = {
|
|
|
|
Description = "polkit-gnome-authentication-agent-1";
|
|
|
|
Wants = [ "graphical-session.target" ];
|
|
|
|
After = [ "graphical-session.target" ];
|
|
|
|
};
|
|
|
|
Service = {
|
|
|
|
Type = "simple";
|
|
|
|
ExecStart =
|
|
|
|
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
|
|
|
Restart = "on-failure";
|
|
|
|
RestartSec = 1;
|
|
|
|
TimeoutStopSec = 10;
|
|
|
|
};
|
|
|
|
Install = { WantedBy = [ "graphical-session.target" ]; };
|
|
|
|
};
|
2024-10-15 09:45:54 +02:00
|
|
|
|
|
|
|
programs.niri = {
|
|
|
|
settings = {
|
|
|
|
input = {
|
|
|
|
keyboard = {
|
|
|
|
xkb.options = "compose:rctrl";
|
|
|
|
repeat-delay = 300;
|
|
|
|
repeat-rate = 100;
|
|
|
|
};
|
|
|
|
mouse.accel-profile = "flat";
|
|
|
|
warp-mouse-to-focus = true;
|
|
|
|
focus-follows-mouse.enable = true;
|
|
|
|
};
|
|
|
|
layout = {
|
|
|
|
gaps = 10;
|
|
|
|
default-column-width.proportion = 0.5;
|
|
|
|
preset-window-heights = [{ proportion = 1.0 / 2.0; }];
|
|
|
|
focus-ring.enable = false;
|
|
|
|
border = {
|
|
|
|
enable = true;
|
|
|
|
width = 2;
|
|
|
|
inactive.color = "#80808080";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
workspaces = {
|
|
|
|
w1.name = "admin";
|
|
|
|
w2.name = "everything";
|
|
|
|
w3.name = "apps";
|
|
|
|
};
|
2024-10-15 11:18:59 +02:00
|
|
|
hotkey-overlay.skip-at-startup = true;
|
2024-10-15 09:45:54 +02:00
|
|
|
window-rules = [
|
|
|
|
{
|
|
|
|
matches =
|
|
|
|
[{ app-id = "^(im\\.riot\\.Riot|WebCord|@joplin/app-desktop)$"; }];
|
|
|
|
open-on-workspace = "apps";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
geometry-corner-radius = {
|
|
|
|
top-left = 10.0;
|
|
|
|
top-right = 10.0;
|
|
|
|
bottom-right = 10.0;
|
|
|
|
bottom-left = 10.0;
|
|
|
|
};
|
|
|
|
clip-to-geometry = true;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
prefer-no-csd = true;
|
|
|
|
screenshot-path = "~/screenshots/%Y%m%d%H%m%N.png";
|
|
|
|
binds = with config.lib.niri.actions; {
|
|
|
|
"Mod+Space".action = spawn "alacritty";
|
|
|
|
"Mod+Shift+Space".action = spawn "alacritty -e sudo -i";
|
|
|
|
"Mod+F1".action = spawn "anyrun";
|
2024-10-15 10:46:36 +02:00
|
|
|
"Mod+L".action = spawn "swaylock";
|
2024-10-15 09:45:54 +02:00
|
|
|
"Mod+Shift+Q".action = close-window;
|
|
|
|
"Mod+A".action = focus-column-left;
|
|
|
|
"Mod+Z".action = focus-window-or-workspace-up;
|
|
|
|
"Mod+S".action = focus-window-or-workspace-down;
|
|
|
|
"Mod+D".action = focus-column-right;
|
|
|
|
"Mod+Shift+A".action = move-column-left;
|
|
|
|
"Mod+Shift+Z".action = move-window-up-or-to-workspace-up;
|
|
|
|
"Mod+Shift+S".action = move-window-down-or-to-workspace-down;
|
|
|
|
"Mod+Shift+D".action = move-column-right;
|
|
|
|
"Mod+Page_Up".action = focus-workspace-up;
|
|
|
|
"Mod+Page_Down".action = focus-workspace-down;
|
|
|
|
"Mod+WheelScrollDown".action = focus-column-right;
|
|
|
|
"Mod+WheelScrollUp".action = focus-column-left;
|
|
|
|
"Mod+Shift+WheelScrollDown".action = move-column-right;
|
|
|
|
"Mod+Shift+WheelScrollUp".action = move-column-left;
|
|
|
|
"Mod+Tab".action = focus-workspace-previous;
|
|
|
|
"Mod+F".action = maximize-column;
|
|
|
|
"Mod+W".action = set-column-width "-10%";
|
|
|
|
"Mod+X".action = set-column-width "+10%";
|
|
|
|
"Mod+Shift+W".action = set-window-height "-10%";
|
|
|
|
"Mod+Shift+X".action = set-window-height "+10%";
|
|
|
|
"Print".action = screenshot-screen;
|
|
|
|
"Shift+Print".action = screenshot;
|
|
|
|
"Alt+Print".action = screenshot-window;
|
|
|
|
"Mod+Shift+Backspace" = {
|
|
|
|
action = quit { skip-confirmation = true; };
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-09-30 14:40:45 +02:00
|
|
|
}
|