Mon Jun 3 04:02:50 PM CEST 2024

This commit is contained in:
Thomas Avé 2024-06-03 16:02:50 +02:00
parent 441d5bfa22
commit a8d4ffd131
18 changed files with 1958 additions and 551 deletions

View File

@ -22,13 +22,7 @@
nur.url = "github:nix-community/NUR";
};
outputs =
{ self
, nixpkgs
, home-manager
, nur
, ...
}@inputs:
outputs = { self, nixpkgs, home-manager, nur, ... }@inputs:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
@ -48,7 +42,9 @@
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
};
@ -99,12 +95,7 @@
shell = pkgs.zsh;
};
environment.systemPackages = with pkgs; [
wget
curl
git
];
environment.systemPackages = with pkgs; [ wget curl git ];
services.openssh = {
enable = true;
@ -116,7 +107,8 @@
networking.firewall.enable = false;
system.stateVersion = "23.11";
environment.sessionVariables.NIXOS_OZONE_WL = "1"; #hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL =
"1"; # hint electron apps to use wayland:
fonts.packages = with pkgs; [
noto-fonts
@ -130,31 +122,25 @@
home-manager.nixosModules.home-manager
{
home-manager = {
extraSpecialArgs = { inherit inputs; }; # allows access to flake inputs in hm modules
extraSpecialArgs = {
inherit inputs;
}; # allows access to flake inputs in hm modules
useGlobalPkgs = true;
useUserPackages = true;
users.${user} = {
imports = [ ./home/${host}.nix ];
};
users.${user} = { imports = [ ./home/${host}.nix ]; };
};
}
./hosts/${host}
];
mkSystem = host: cfg: nixpkgs.lib.nixosSystem {
mkSystem = host: cfg:
nixpkgs.lib.nixosSystem {
system = cfg.system or "x86_64-linux";
modules = (commonModules host cfg.user) ++ (cfg.modules or [ ]);
specialArgs = inputs;
};
systems = {
nixos = {
user = "user";
};
Kell = {
user = "user";
};
};
in
{
nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems;
nixos = { user = "user"; };
Kell = { user = "user"; };
};
in { nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; };
}

1483
h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -24,11 +24,5 @@
name = "Papirus";
gtk.iconTheme.package = pkgs.papirus-icon-theme;
};
programs.waybar = {
settings = {
mainBar = {
output = "DP-2";
};
};
};
programs.waybar = { settings = { mainBar = { output = "DP-2"; }; }; };
}

View File

@ -77,51 +77,51 @@
action = "ReceiveChar";
}
{
chars = "\u001B[72;6u";
chars = "u001B[72;6u";
key = "H";
mods = "Control|Shift";
}
{
chars = "\u001B[74;6u";
chars = "u001B[74;6u";
key = "J";
mods = "Control|Shift";
}
{
chars = "\u001B[75;6u";
chars = "u001B[75;6u";
key = "K";
mods = "Control|Shift";
}
{
chars = "\u001B[76;6u";
chars = "u001B[76;6u";
key = "L";
mods = "Control|Shift";
}
{
chars = "\u001B[105;5u";
chars = "u001B[105;5u";
key = "I";
mods = "Control";
}
{
chars = "\u001B[46;5u";
chars = "u001B[46;5u";
key = "Period";
mods = "Control";
}
{
chars = "\u001B[44;5u";
chars = "u001B[44;5u";
key = "Comma";
mods = "Control";
}
{
chars = "\u001B[59;5u";
chars = "u001B[59;5u";
key = "Semicolon";
mods = "Control";
}
{
chars = "\u001B[13;2u";
chars = "u001B[13;2u";
key = "Return";
mods = "Shift";
}
];
};
};
}
}

View File

@ -1,23 +1,13 @@
{ inputs, config, pkgs, ... }:
{
imports = [
./zsh
./git
./nvim
./email
./lf
];
imports = [ ./zsh ./git ./nvim ./email ./lf ];
home.stateVersion = "24.11";
targets.genericLinux.enable = true;
nixpkgs.config.allowUnfree = true;
programs.home-manager.enable = true;
home.packages = with pkgs; [
htop
waypipe
];
home.packages = with pkgs; [ htop waypipe ];
home.sessionVariables = {
XDG_CONFIG_HOME = "${config.xdg.configHome}";

View File

@ -2,26 +2,21 @@
{
home.file = {
".mailcap".text = "text/html; w3m -dump -o -document_charset=%{charset} %s; nametemplate=%s.html; copiousoutput";
".mailcap".text =
"text/html; w3m -dump -o -document_charset=%{charset} %s; nametemplate=%s.html; copiousoutput";
};
home.packages = with pkgs; [
mailcap
];
home.packages = with pkgs; [ mailcap ];
programs.notmuch = {
enable = true;
extraConfig = {
database = {
path = "/home/user/.config/aerc/mail";
};
database = { path = "/home/user/.config/aerc/mail"; };
user = {
name = "Thomas Avé";
primary_email = "email@thomasave.be";
other_email = "Thomas.Ave@uantwerpen.be;Thomas.Ave@imec.be;";
};
maildir = {
synchronize_flags = "true";
};
maildir = { synchronize_flags = "true"; };
};
};
programs.aerc = {
@ -157,9 +152,7 @@
};
};
extraConfig = {
general = {
term = "xterm-256color";
};
general = { term = "xterm-256color"; };
ui = {
border-char-vertical = "";
border-char-horizontal = "";
@ -170,12 +163,8 @@
dirlist-right = "{{if .Unread}}{{humanReadable .Unread}}{{end}}";
dirlist-tree = true;
};
viewer = {
pager = "nvim -u $XDG_CONFIG_HOME/nvim/aerc.lua";
};
compose = {
address-book-cmd = "notmuch address \"\%s\"";
};
viewer = { pager = "nvim -u $XDG_CONFIG_HOME/nvim/aerc.lua"; };
compose = { address-book-cmd = ''notmuch address "%s"''; };
multipart-converters = {
"text/html" = "w3m -dump -o display_link_number=1 -T text/html";
};
@ -185,13 +174,14 @@
"message/delivery-status" = "cat";
"message/rfc822" = "cat";
"text/html" = "w3m -dump -o display_link_number=1 -T text/html";
"text/*" = "bat -fP --file-name=\"$AERC_FILENAME\"";
"text/*" = ''bat -fP --file-name="$AERC_FILENAME"'';
"application/x-sh" = "bat -fP -l sh";
};
};
};
home.file."${config.xdg.configHome}/aerc/map.conf".text = "Inbox=tag:inbox and not tag:archived and not tag:deleted";
home.file."${config.xdg.configHome}/aerc/map.conf".text =
"Inbox=tag:inbox and not tag:archived and not tag:deleted";
home.file."${config.xdg.configHome}/aerc/stylesets/catppuccin-mocha".text = ''
*.default=true
*.normal=true

View File

@ -1,15 +1,14 @@
{inputs, pkgs, ...}:
{ inputs, pkgs, ... }:
let
lock-false = {
lock-false = {
Value = false;
Status = "locked";
};
lock-true = {
};
lock-true = {
Value = true;
Status = "locked";
};
in
{
};
in {
programs.firefox = {
enable = true;
policies = {
@ -28,15 +27,18 @@ in
installation_mode = "normal_installed";
};
"@contain-google" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/google-container/latest.xpi";
install_url =
"https://addons.mozilla.org/firefox/downloads/latest/google-container/latest.xpi";
installation_mode = "normal_installed";
};
"{ea4204c0-3209-4116-afd2-2a208e21a779}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/enable-bing-chat/latest.xpi";
install_url =
"https://addons.mozilla.org/firefox/downloads/latest/enable-bing-chat/latest.xpi";
installation_mode = "normal_installed";
};
"{3e4d2037-d300-4e95-859d-3cba866f46d3}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/private-internet-access-ext/latest.xpi";
install_url =
"https://addons.mozilla.org/firefox/downloads/latest/private-internet-access-ext/latest.xpi";
installation_mode = "normal_installed";
};
};
@ -79,10 +81,16 @@ in
"extensions.pocket.enabled" = lock-false;
"extensions.autoDisableScopes" = 0;
"browser.newtabpage.activity-stream.showSponsored" = lock-false;
"browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":["fxa-toolbar-menu-button","developer-button"],"unified-extensions-area":["sponsorblocker_ajay_app-browser-action","_testpilot-containers-browser-action","_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action","beyond20_kakaroto_homelinux_net-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","_contain-facebook-browser-action","jid1-kkzogwgsw3ao4q_jetpack-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","chrome-gnome-shell_gnome_org-browser-action","_ea4204c0-3209-4116-afd2-2a208e21a779_-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","display-anchors_robwu_nl-browser-action","firefoxcolor_mozilla_com-browser-action","search_kagi_com-browser-action","_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_12cf650b-1822-40aa-bff0-996df6948878_-browser-action","_3e4d2037-d300-4e95-859d-3cba866f46d3_-browser-action","save-as-pdf-ff_pdfcrowd_com-browser-action","user-agent-switcher_ninetailed_ninja-browser-action","_d66c8515-1e0d-408f-82ee-2682f2362726_-browser-action","ublock0_raymondhill_net-browser-action","reset-pbm-toolbar-button","adguardadblocker_adguard_com-browser-action","unified-extensions-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["developer-button","profiler-button","chrome-gnome-shell_gnome_org-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_contain-facebook-browser-action","_testpilot-containers-browser-action","jid1-kkzogwgsw3ao4q_jetpack-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","ublock0_raymondhill_net-browser-action","_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action","beyond20_kakaroto_homelinux_net-browser-action","_12cf650b-1822-40aa-bff0-996df6948878_-browser-action","_3e4d2037-d300-4e95-859d-3cba866f46d3_-browser-action","save-as-pdf-ff_pdfcrowd_com-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","user-agent-switcher_ninetailed_ninja-browser-action","_d66c8515-1e0d-408f-82ee-2682f2362726_-browser-action","_ea4204c0-3209-4116-afd2-2a208e21a779_-browser-action","adguardadblocker_adguard_com-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","sponsorblocker_ajay_app-browser-action","display-anchors_robwu_nl-browser-action","firefoxcolor_mozilla_com-browser-action","search_kagi_com-browser-action","_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","widget-overflow-fixed-list","unified-extensions-area"],"currentVersion":20,"newElementCount":11}'';
"browser.newtabpage.activity-stream.system.showSponsored" =
lock-false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" =
lock-false;
"browser.contentblocking.category" = {
Value = "strict";
Status = "locked";
};
"browser.uiCustomization.state" = ''
{"placements":{"widget-overflow-fixed-list":["fxa-toolbar-menu-button","developer-button"],"unified-extensions-area":["sponsorblocker_ajay_app-browser-action","_testpilot-containers-browser-action","_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action","beyond20_kakaroto_homelinux_net-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","_contain-facebook-browser-action","jid1-kkzogwgsw3ao4q_jetpack-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","chrome-gnome-shell_gnome_org-browser-action","_ea4204c0-3209-4116-afd2-2a208e21a779_-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","display-anchors_robwu_nl-browser-action","firefoxcolor_mozilla_com-browser-action","search_kagi_com-browser-action","_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_12cf650b-1822-40aa-bff0-996df6948878_-browser-action","_3e4d2037-d300-4e95-859d-3cba866f46d3_-browser-action","save-as-pdf-ff_pdfcrowd_com-browser-action","user-agent-switcher_ninetailed_ninja-browser-action","_d66c8515-1e0d-408f-82ee-2682f2362726_-browser-action","ublock0_raymondhill_net-browser-action","reset-pbm-toolbar-button","adguardadblocker_adguard_com-browser-action","unified-extensions-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["developer-button","profiler-button","chrome-gnome-shell_gnome_org-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_contain-facebook-browser-action","_testpilot-containers-browser-action","jid1-kkzogwgsw3ao4q_jetpack-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","ublock0_raymondhill_net-browser-action","_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action","beyond20_kakaroto_homelinux_net-browser-action","_12cf650b-1822-40aa-bff0-996df6948878_-browser-action","_3e4d2037-d300-4e95-859d-3cba866f46d3_-browser-action","save-as-pdf-ff_pdfcrowd_com-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","user-agent-switcher_ninetailed_ninja-browser-action","_d66c8515-1e0d-408f-82ee-2682f2362726_-browser-action","_ea4204c0-3209-4116-afd2-2a208e21a779_-browser-action","adguardadblocker_adguard_com-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","sponsorblocker_ajay_app-browser-action","display-anchors_robwu_nl-browser-action","firefoxcolor_mozilla_com-browser-action","search_kagi_com-browser-action","_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","widget-overflow-fixed-list","unified-extensions-area"],"currentVersion":20,"newElementCount":11}'';
"privacy.trackingprotection.enabled" = true;
};
};
@ -90,9 +98,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" ];
};
}

View File

@ -1,7 +1,4 @@
{ inputs
, pkgs
, ...
}:
{ inputs, pkgs, ... }:
let
hyprland = inputs.hyprland.packages.${pkgs.system}.hyprland;
playerctl = "${pkgs.playerctl}/bin/playerctl";
@ -17,11 +14,11 @@ let
rofi = "${pkgs.rofi}/bin/rofi";
jq = "${pkgs.jq}/bin/jq";
rofi-ykman = pkgs.writeShellScriptBin "rofi-ykman" ''
accounts=''$(${pkgs.yubikey-manager}/bin/ykman oath accounts list)
accounts=$(${pkgs.yubikey-manager}/bin/ykman oath accounts list)
prompt="YubiKey OATH"
account=''$(echo "''${accounts/, TOTP/\n}" | awk '{ print $0 "\0icon\x1fyubioath"; }' | ${rofi} -dmenu -i -p "''$prompt" ''${shortcuts[@]})
code=''$(${pkgs.yubikey-manager}/bin/ykman oath accounts code "''$account")
IFS=', ' read -r -a code <<< "''$code"
account=$(echo "''${accounts/, TOTP/\n}" | awk '{ print $0 "\0icon\x1fyubioath"; }' | ${rofi} -dmenu -i -p "$prompt" ''${shortcuts[@]})
code=$(${pkgs.yubikey-manager}/bin/ykman oath accounts code "$account")
IFS=', ' read -r -a code <<< "$code"
echo -n "''${code[-1]}" | ${pkgs.wl-clipboard}/bin/wl-copy;
'';
@ -60,25 +57,21 @@ let
fi
fi
'';
in
{
in {
services.kdeconnect = {
enable = true;
package = pkgs.kdePackages.kdeconnect-kde;
indicator = true;
};
home.packages = with pkgs; [
wl-clipboard
];
home.packages = with pkgs; [ wl-clipboard ];
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = false;
preload =
[ "${./files/wallpaper.png}" ];
preload = [ "${./files/wallpaper.png}" ];
wallpaper = [
# Fill in by host-specific config!
# "Display,${./files/wallpaper.png}"
@ -127,9 +120,7 @@ in
"TERMINAL,${alacritty}"
"WLR_RENDERER_ALLOW_SOFTWARE,1"
];
debug = {
disable_logs = false;
};
debug = { disable_logs = false; };
windowrulev2 = [
"float, title:^(rofi)(.*)$"
"center, title:^(rofi)(.*)$"
@ -138,9 +129,7 @@ in
"minsize 1 1, title:^()$,class:^(steam)$"
"stayfocused, title:^()$,class:^(steam)$"
];
windowrule = [
"noanim,waybar"
];
windowrule = [ "noanim,waybar" ];
monitor = [
"DP-3,preferred,0x550,1"
"DP-2,preferred,1920x0,1"
@ -160,20 +149,12 @@ in
kb_options = "compose:rctrl, caps:super, altwin:swap_alt_win";
numlock_by_default = true;
};
binds = {
scroll_event_delay = 1;
};
xwayland = {
force_zero_scaling = true;
};
misc = {
disable_hyprland_logo = 1;
};
binds = { scroll_event_delay = 1; };
xwayland = { force_zero_scaling = true; };
misc = { disable_hyprland_logo = 1; };
decoration = {
rounding = 1;
blur = {
enabled = false;
};
blur = { enabled = false; };
};
animations = {
enabled = "yes";
@ -216,11 +197,14 @@ in
"$mainMod, F, togglefloating,"
"$mainMod, SPACE, togglesplit, # dwindle"
"CONTROL_L ALT_L, L, exec, ${swaylock}"
"$mainMod, C, exec, cliphist list | awk '{print $0, \"\0icon\x1fcom.github.davidmhewitt.clipped\"}' | ${rofi} -dmenu -display-columns 2 | cliphist decode | wl-copy"
''
$mainMod, C, exec, cliphist list | awk '{print $0, "0iconx1fcom.github.davidmhewitt.clipped"}' | ${rofi} -dmenu -display-columns 2 | cliphist decode | wl-copy''
"$mainMod, Y, exec, ${rofi-ykman}/bin/rofi-ykman"
"$mainMod, N, exec, ${./files/rofi-ssh.sh}"
"$mainMod, Escape, exec, ${rofi} -show power-menu -modi power-menu:${./files/rofi-power-menu.sh}"
"$mainMod, Escape, exec, ${rofi} -show power-menu -modi power-menu:${
./files/rofi-power-menu.sh
}"
",XF86MonBrightnessUp, exec, xbacklight -inc 10"
",XF86MonBrightnessDown, exec, xbacklight -dec 10"
@ -235,7 +219,7 @@ in
"$mainMod,XF86AudioMute, exec, ${playerctl} play-pause"
"$mainMod,XF86AudioRaiseVolume, exec, ${playerctl} next"
"$mainMod,XF86AudioLowerVolume, exec, ${playerctl} previous"
", Print, exec, grim -g \"$(slurp -d)\" - | wl-copy"
'', Print, exec, grim -g "$(slurp -d)" - | wl-copy''
"$mainMod, H, exec, ${./files/vim-hypr-nav.sh} l"
"$mainMod, L, exec, ${./files/vim-hypr-nav.sh} r"
@ -257,27 +241,16 @@ in
"$mainMod, T, split-workspace, empty"
"$mainMod, TAB, split-workspace, m+1"
"$mainMod SHIFT, TAB, split-workspace, m-1"
]
++ (
] ++ (
# workspaces
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
builtins.concatLists (builtins.genList
(
x:
builtins.concatLists (builtins.genList (x:
let
ws =
let
c = (x + 1) / 10;
in
builtins.toString (x + 1 - (c * 10));
in
[
ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10));
in [
"$mainMod, ${ws}, split-workspace, ${toString (x + 1)}"
"$mainMod SHIFT, ${ws}, split-movetoworkspace, ${toString (x + 1)}"
]
)
10)
);
]) 10));
};
};
}

View File

@ -19,8 +19,8 @@
"<backspace2>" = "quit";
"<c-e>" = "half-up";
"." = "set hidden!";
"o" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
"-" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
"o" = ''$nvim -c "lua require(\"oil\").open(\"$PWD\")"'';
"-" = ''$nvim -c "lua require(\"oil\").open(\"$PWD\")"'';
"<enter>" = "open";
"<c-t>" = ":jump <enter>";
};
@ -32,8 +32,6 @@
}}
'';
};
cmdKeybindings = {
q = "quit";
};
cmdKeybindings = { q = "quit"; };
};
}

View File

@ -10,17 +10,9 @@
services.hyprpaper = {
settings = {
wallpaper = [
"Virtual-1,${./hyprland/files/wallpaper.png}"
];
wallpaper = [ "Virtual-1,${./hyprland/files/wallpaper.png}" ];
};
};
programs.waybar = {
settings = {
mainBar = {
output = "Virtual-1";
};
};
};
programs.waybar = { settings = { mainBar = { output = "Virtual-1"; }; }; };
}

View File

@ -1,9 +1,7 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
papirus-icon-theme
];
home.packages = with pkgs; [ papirus-icon-theme ];
programs.rofi = {
enable = true;
@ -14,11 +12,8 @@
kb-cancel = "Super_L+XF86Launch5,Escape";
combi-hide-mode-prefix = true;
};
theme =
let
inherit (config.lib.formats.rasi) mkLiteral;
in
{
theme = let inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = {
background = mkLiteral "#0f111a";
foreground = mkLiteral "#f1f1f1";
@ -117,9 +112,7 @@
border = mkLiteral "10px";
};
"element-text" = {
padding = mkLiteral "20px 0px 0px 10px";
};
"element-text" = { padding = mkLiteral "20px 0px 0px 10px"; };
"element selected" = {
background-color = mkLiteral "@selected";

View File

@ -3,7 +3,7 @@
{
programs.ssh = {
enable = true;
includes = ["gpulab_hosts_config"];
includes = [ "gpulab_hosts_config" ];
matchBlocks = {
mallorea = {
host = "mallorea";

View File

@ -1,7 +1,4 @@
{ inputs
, pkgs
, ...
}:
{ inputs, pkgs, ... }:
{
programs.waybar = {
@ -15,7 +12,18 @@
# output = "DP-2"; # Fill in with host-specific config!
modules-left = [ "wlr/taskbar" ];
modules-center = [ "hyprland/workspaces" ];
modules-right = [ "tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2" ];
modules-right = [
"tray"
"wireplumber"
"cpu#cpu2"
"cpu"
"memory"
"custom/updates"
"temperature"
"battery"
"clock"
"clock#clock2"
];
"wlr/taskbar" = {
on-click = "activate";
on-click-right = "close";
@ -34,12 +42,8 @@
warp-on-scroll = false;
format = "{name}";
};
"hyprland/window" = {
max-length = 50;
};
tray = {
spacing = 10;
};
"hyprland/window" = { max-length = 50; };
tray = { spacing = 10; };
"clock#clock2" = {
timezone = "Europe/Brussels";
format = "{:%H:%M:%S}";
@ -61,8 +65,10 @@
interval = 5;
};
"custom/updates" = {
exec = "bash -c \"checkupdates | wc -l\"";
on-click = "alacritty -e bash -c \"yay ; echo '\nDone, press any key to exit...' ; read\"";
exec = ''bash -c "checkupdates | wc -l"'';
on-click = ''
alacritty -e bash -c "yay ; echo '
Done, press any key to exit...' ; read"'';
interval = 60;
format = "{} ";
};

View File

@ -17,7 +17,8 @@
BROWSER = "firefox";
GPULAB_CERT = "${config.xdg.dataHome}/gpulab.pem";
GPULAB_DEV = "False";
GCC_COLORS = "error = '01;31:warning = '01;35:note = '01;36:caret = '01;32:locus = '01:quote = '01'";
GCC_COLORS =
"error = '01;31:warning = '01;35:note = '01;36:caret = '01;32:locus = '01:quote = '01'";
ARCHFLAGS = "-arch x86_64";
TERM = "screen-256color";
PYTHONDONTWRITEBYTECODE = "1";
@ -28,9 +29,7 @@
enable = true;
enableZshIntegration = true;
};
programs.fzf = {
enable = true;
};
programs.fzf = { enable = true; };
programs.zsh = {
enable = true;
enableCompletion = true;
@ -62,17 +61,22 @@
ll = "ls -lhat";
ls = "ls --color=auto";
lf = "cd \"\$(${pkgs.lf}/bin/lf -print-last-dir)\"";
lf = ''cd "$(${pkgs.lf}/bin/lf -print-last-dir)"'';
compress = "tar --use-compress-program = lbzip2 -cvf";
wget = "wget --hsts-file = \"$XDG_DATA_HOME/wget-hsts\"";
wget = ''wget --hsts-file = "$XDG_DATA_HOME/wget-hsts"'';
python = "python3";
v = "nvim -c ':lua require(\"oil\").open()' && cd \"\$(cat /tmp/oil_dir 2> /dev/null || pwd)\"";
cpr = "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1";
mvr = "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1 --remove-source-files";
rg = "rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'";
ag = "rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'";
push = "git add -A && git commit -m \"`date`\" && git push";
v = ''
nvim -c ':lua require("oil").open()' && cd "$(cat /tmp/oil_dir 2> /dev/null || pwd)"'';
cpr =
"rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1";
mvr =
"rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1 --remove-source-files";
rg =
"rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'";
ag =
"rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'";
push = ''git add -A && git commit -m "`date`" && git push'';
reset = "tput reset";
};
history.size = 10000000;

View File

@ -1,4 +1,4 @@
{inputs, pkgs, ...}:
{ inputs, pkgs, ... }:
{
services.pcscd.enable = true;
@ -8,15 +8,12 @@
HandlePowerKey=suspend
'';
# Calendar
programs.dconf.enable = true;
services.gnome.evolution-data-server.enable = true;
services.gnome.gnome-online-accounts.enable = true;
services.gnome.gnome-keyring.enable = true;
environment.systemPackages = with pkgs; [
wireguard-tools
];
environment.systemPackages = with pkgs; [ wireguard-tools ];
# Add the server using gnome-online-accounts:
# nix-shell -p gnome.gnome-control-center --run "gnome-control-center"
# Just add the main webdav server and gnome-calendar will automatically pick up all available calendars.
@ -27,13 +24,11 @@
dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key";
listenPort = 51820;
peers = [
{
peers = [{
publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
allowedIPs = [ "10.0.0.1/8" ];
endpoint = "192.168.1.1:13231";
}
];
}];
};
};
fileSystems."/home/server" = {

View File

@ -4,22 +4,21 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.availableKernelModules =
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/feef066a-9abf-418d-a39e-603c406a72ff";
fileSystems."/" = {
device = "/dev/disk/by-uuid/feef066a-9abf-418d-a39e-603c406a72ff";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0D9B-B227";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/0D9B-B227";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
@ -35,5 +34,6 @@
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -1,2 +1 @@
{
}
{ }

View File

@ -4,24 +4,20 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[
(modulesPath + "/profiles/qemu-guest.nix")
];
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.availableKernelModules =
[ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{
fileSystems."/" = {
device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff";
fsType = "ext4";
};
fileSystems."/boot" =
{
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/9F3C-9F3B";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];