66 KiB
66 KiB
diff --git flake.nix flake.nix
index f222823..39cd281 100644
--- flake.nix
+++ flake.nix
@@ -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};
@@ -38,9 +32,9 @@
{
networking.hostName = host;
boot.loader.systemd-boot = {
- enable = true;
- memtest86.enable = true;
- netbootxyz.enable = true;
+ enable = true;
+ memtest86.enable = true;
+ netbootxyz.enable = true;
};
boot.loader.timeout = 1;
boot.loader.efi.canTouchEfiVariables = true;
@@ -48,15 +42,17 @@
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;
};
nix.gc = {
- automatic = true;
- dates = "daily";
- options = "--delete-older-than 2d";
+ automatic = true;
+ dates = "daily";
+ options = "--delete-older-than 2d";
};
programs.zsh.enable = 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 {
- system = cfg.system or "x86_64-linux";
- modules = (commonModules host cfg.user) ++ (cfg.modules or [ ]);
- specialArgs = inputs;
- };
- systems = {
- nixos = {
- user = "user";
- };
- Kell = {
- user = "user";
+ 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;
- };
+ in { nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; };
}
diff --git home/Kell.nix home/Kell.nix
index d6205a7..6d95393 100644
--- home/Kell.nix
+++ home/Kell.nix
@@ -2,13 +2,13 @@
{
imports = [
- (import ./common.nix { inherit inputs config pkgs; })
- (import ./hyprland { inherit inputs pkgs; })
- (import ./waybar { inherit inputs pkgs; })
- ./rofi
- ./alacritty
- ./firefox
- ./ssh
+ (import ./common.nix { inherit inputs config pkgs; })
+ (import ./hyprland { inherit inputs pkgs; })
+ (import ./waybar { inherit inputs pkgs; })
+ ./rofi
+ ./alacritty
+ ./firefox
+ ./ssh
];
services.hyprpaper = {
settings = {
@@ -21,14 +21,8 @@
};
gtk.iconTheme = {
- name = "Papirus";
- gtk.iconTheme.package = pkgs.papirus-icon-theme;
- };
- programs.waybar = {
- settings = {
- mainBar = {
- output = "DP-2";
- };
- };
+ name = "Papirus";
+ gtk.iconTheme.package = pkgs.papirus-icon-theme;
};
+ programs.waybar = { settings = { mainBar = { output = "DP-2"; }; }; };
}
diff --git home/alacritty/default.nix home/alacritty/default.nix
index dc9799f..b8e2d40 100644
--- home/alacritty/default.nix
+++ home/alacritty/default.nix
@@ -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";
}
];
- };
};
- }
+ };
+}
diff --git home/common.nix home/common.nix
index 5e568e8..93d0d6b 100644
--- home/common.nix
+++ home/common.nix
@@ -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}";
diff --git home/email/default.nix home/email/default.nix
index caeaa36..6140376 100644
--- home/email/default.nix
+++ home/email/default.nix
@@ -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
diff --git home/firefox/default.nix home/firefox/default.nix
index 4ba4256..72c6564 100644
--- home/firefox/default.nix
+++ home/firefox/default.nix
@@ -1,98 +1,106 @@
-{inputs, pkgs, ...}:
+{ inputs, pkgs, ... }:
let
-lock-false = {
+ lock-false = {
Value = false;
Status = "locked";
-};
-lock-true = {
+ };
+ lock-true = {
Value = true;
Status = "locked";
-};
-in
-{
- programs.firefox = {
- enable = true;
- policies = {
- DisableTelemetry = true;
- DisableFirefoxStudies = true;
- DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
- EnableTrackingProtection = {
- Value = true;
- Locked = true;
- Cryptomining = true;
- Fingerprinting = true;
- };
- ExtensionSettings = {
- "{c7c120ff-2878-4e59-a5a3-cd4d1655bc13}" = {
- install_url = "file://${./files/signed.xpi}";
- installation_mode = "normal_installed";
- };
- "@contain-google" = {
- 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";
- installation_mode = "normal_installed";
- };
- "{3e4d2037-d300-4e95-859d-3cba866f46d3}" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/private-internet-access-ext/latest.xpi";
- installation_mode = "normal_installed";
- };
- };
+ };
+in {
+ programs.firefox = {
+ enable = true;
+ policies = {
+ DisableTelemetry = true;
+ DisableFirefoxStudies = true;
+ DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
+ EnableTrackingProtection = {
+ Value = true;
+ Locked = true;
+ Cryptomining = true;
+ Fingerprinting = true;
+ };
+ ExtensionSettings = {
+ "{c7c120ff-2878-4e59-a5a3-cd4d1655bc13}" = {
+ install_url = "file://${./files/signed.xpi}";
+ installation_mode = "normal_installed";
+ };
+ "@contain-google" = {
+ 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";
+ installation_mode = "normal_installed";
+ };
+ "{3e4d2037-d300-4e95-859d-3cba866f46d3}" = {
+ install_url =
+ "https://addons.mozilla.org/firefox/downloads/latest/private-internet-access-ext/latest.xpi";
+ installation_mode = "normal_installed";
+ };
+ };
+ };
+ profiles = {
+ default = {
+ id = 0;
+ name = "default";
+ isDefault = true;
+ search = {
+ force = true;
+ default = "DuckDuckGo";
+ order = [ "DuckDuckGo" "Google" ];
};
- profiles = {
- default = {
- id = 0;
- name = "default";
- isDefault = true;
- search = {
- force = true;
- default = "DuckDuckGo";
- order = [ "DuckDuckGo" "Google" ];
- };
- extensions = with pkgs.nur.repos.rycee.firefox-addons; [
- ublock-origin
- bitwarden
- privacy-badger
- beyond-20
- display-_anchors
- facebook-container
- multi-account-containers
- istilldontcareaboutcookies
- return-youtube-dislikes
- sponsorblock
- unpaywall
- vimium
- ];
- settings = {
- "browser.disableResetPrompt" = true;
- "browser.download.panel.shown" = true;
- "browser.shell.checkDefaultBrowser" = false;
- "browser.tabs.inTitlebar" = 0;
- "browser.shell.defaultBrowserCheckCount" = 1;
- "browser.startup.homepage" = "https://start.duckduckgo.com";
- "browser.compactmode.show" = true;
- "browser.uidensity" = 1;
- "extensions.update.enabled" = false;
- "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}'';
- "privacy.trackingprotection.enabled" = true;
- };
- };
+ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
+ ublock-origin
+ bitwarden
+ privacy-badger
+ beyond-20
+ display-_anchors
+ facebook-container
+ multi-account-containers
+ istilldontcareaboutcookies
+ return-youtube-dislikes
+ sponsorblock
+ unpaywall
+ vimium
+ ];
+ settings = {
+ "browser.disableResetPrompt" = true;
+ "browser.download.panel.shown" = true;
+ "browser.shell.checkDefaultBrowser" = false;
+ "browser.tabs.inTitlebar" = 0;
+ "browser.shell.defaultBrowserCheckCount" = 1;
+ "browser.startup.homepage" = "https://start.duckduckgo.com";
+ "browser.compactmode.show" = true;
+ "browser.uidensity" = 1;
+ "extensions.update.enabled" = false;
+ "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}'';
+ "privacy.trackingprotection.enabled" = true;
};
+ };
};
+ };
- xdg.mimeApps.defaultApplications = {
- "text/html" = ["firefox.desktop"];
- "text/xml" = ["firefox.desktop"];
- "x-scheme-handler/http" = ["firefox.desktop"];
- "x-scheme-handler/https" = ["firefox.desktop"];
- };
+ xdg.mimeApps.defaultApplications = {
+ "text/html" = [ "firefox.desktop" ];
+ "text/xml" = [ "firefox.desktop" ];
+ "x-scheme-handler/http" = [ "firefox.desktop" ];
+ "x-scheme-handler/https" = [ "firefox.desktop" ];
+ };
}
diff --git home/hyprland/default.nix home/hyprland/default.nix
index b7b4e09..ab282dc 100644
--- home/hyprland/default.nix
+++ home/hyprland/default.nix
@@ -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:
- let
- 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)
- );
+ builtins.concatLists (builtins.genList (x:
+ let
+ 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));
};
};
}
diff --git home/lf/default.nix home/lf/default.nix
index 804fe46..d16c150 100644
--- home/lf/default.nix
+++ home/lf/default.nix
@@ -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"; };
};
}
diff --git home/nixos.nix home/nixos.nix
index ee6fc52..bfb8d58 100644
--- home/nixos.nix
+++ home/nixos.nix
@@ -2,25 +2,17 @@
{
imports = [
- (import ./common.nix { inherit inputs config pkgs; })
- (import ./hyprland { inherit inputs pkgs; })
- (import ./waybar { inherit inputs pkgs; })
- ./rofi
+ (import ./common.nix { inherit inputs config pkgs; })
+ (import ./hyprland { inherit inputs pkgs; })
+ (import ./waybar { inherit inputs pkgs; })
+ ./rofi
];
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"; }; }; };
}
diff --git home/rofi/default.nix home/rofi/default.nix
index dd65147..a5931ab 100644
--- home/rofi/default.nix
+++ home/rofi/default.nix
@@ -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,120 +12,115 @@
kb-cancel = "Super_L+XF86Launch5,Escape";
combi-hide-mode-prefix = true;
};
- theme =
- let
- inherit (config.lib.formats.rasi) mkLiteral;
- in
- {
- "*" = {
- background = mkLiteral "#0f111a";
- foreground = mkLiteral "#f1f1f1";
- selected = mkLiteral "#0033a1";
- selected-text = mkLiteral "#ffffff";
- };
-
- "window" = {
- transparency = "real";
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- width = mkLiteral "800px";
- border-radius = mkLiteral "5px";
- };
-
- "textbox-prompt-colon" = {
- expand = mkLiteral "false";
- background-color = mkLiteral "@background";
- padding = mkLiteral "4px 0px 0px 6px";
- };
-
- "inputbar" = {
- children = mkLiteral "[ textbox-prompt-colon, entry ]";
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- expand = mkLiteral "false";
- border = mkLiteral "0px 0px 0px 0px";
- border-radius = mkLiteral "0px";
- border-color = mkLiteral "@selected";
- margin = mkLiteral "0px 0px 0px 0px";
- padding = mkLiteral "0px 0px 4px 0px";
- position = mkLiteral "center";
- };
-
- "entry" = {
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- placeholder-color = mkLiteral "@foreground";
- expand = mkLiteral "true";
- horizontal-align = mkLiteral "0";
- blink = mkLiteral "true";
- padding = mkLiteral "4px 0px 0px 4px";
- font = "SF Pro Rounded 25";
- };
-
- "case-indicator" = {
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- spacing = mkLiteral "0";
- };
-
- "listview" = {
- background-color = mkLiteral "@background";
- columns = mkLiteral "1";
- spacing = mkLiteral "5px";
- cycle = mkLiteral "true";
- dynamic = mkLiteral "true";
- layout = mkLiteral "vertical";
- fixed-height = "true";
- lines = mkLiteral "5";
- };
-
- "mainbox" = {
- background-color = mkLiteral "@background";
- children = mkLiteral "[ inputbar, message, listview ]";
- spacing = mkLiteral "20px";
- padding = mkLiteral "20px 15px 15px 15px";
- };
-
- "message" = {
- children = mkLiteral "[ textbox ]";
- border-radius = mkLiteral "5px";
- };
-
- "textbox" = {
- background-color = mkLiteral "@selected";
- text-color = mkLiteral "@foreground";
- padding = mkLiteral "20px 6px 20px 80px";
- };
-
- "element" = {
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- orientation = mkLiteral "horizontal";
- border-radius = mkLiteral "4px";
- padding = mkLiteral "2px 2px 2px 2px";
- };
-
- "element-text, element-icon" = {
- background-color = mkLiteral "inherit";
- text-color = mkLiteral "inherit";
- };
-
- "element-icon" = {
- size = mkLiteral "40px";
- border = mkLiteral "10px";
- };
-
- "element-text" = {
- padding = mkLiteral "20px 0px 0px 10px";
- };
-
- "element selected" = {
- background-color = mkLiteral "@selected";
- text-color = mkLiteral "@selected-text";
- border = mkLiteral "0px";
- border-radius = mkLiteral "3px";
- border-color = mkLiteral "@selected";
- };
+ theme = let inherit (config.lib.formats.rasi) mkLiteral;
+ in {
+ "*" = {
+ background = mkLiteral "#0f111a";
+ foreground = mkLiteral "#f1f1f1";
+ selected = mkLiteral "#0033a1";
+ selected-text = mkLiteral "#ffffff";
};
+
+ "window" = {
+ transparency = "real";
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ width = mkLiteral "800px";
+ border-radius = mkLiteral "5px";
+ };
+
+ "textbox-prompt-colon" = {
+ expand = mkLiteral "false";
+ background-color = mkLiteral "@background";
+ padding = mkLiteral "4px 0px 0px 6px";
+ };
+
+ "inputbar" = {
+ children = mkLiteral "[ textbox-prompt-colon, entry ]";
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ expand = mkLiteral "false";
+ border = mkLiteral "0px 0px 0px 0px";
+ border-radius = mkLiteral "0px";
+ border-color = mkLiteral "@selected";
+ margin = mkLiteral "0px 0px 0px 0px";
+ padding = mkLiteral "0px 0px 4px 0px";
+ position = mkLiteral "center";
+ };
+
+ "entry" = {
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ placeholder-color = mkLiteral "@foreground";
+ expand = mkLiteral "true";
+ horizontal-align = mkLiteral "0";
+ blink = mkLiteral "true";
+ padding = mkLiteral "4px 0px 0px 4px";
+ font = "SF Pro Rounded 25";
+ };
+
+ "case-indicator" = {
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ spacing = mkLiteral "0";
+ };
+
+ "listview" = {
+ background-color = mkLiteral "@background";
+ columns = mkLiteral "1";
+ spacing = mkLiteral "5px";
+ cycle = mkLiteral "true";
+ dynamic = mkLiteral "true";
+ layout = mkLiteral "vertical";
+ fixed-height = "true";
+ lines = mkLiteral "5";
+ };
+
+ "mainbox" = {
+ background-color = mkLiteral "@background";
+ children = mkLiteral "[ inputbar, message, listview ]";
+ spacing = mkLiteral "20px";
+ padding = mkLiteral "20px 15px 15px 15px";
+ };
+
+ "message" = {
+ children = mkLiteral "[ textbox ]";
+ border-radius = mkLiteral "5px";
+ };
+
+ "textbox" = {
+ background-color = mkLiteral "@selected";
+ text-color = mkLiteral "@foreground";
+ padding = mkLiteral "20px 6px 20px 80px";
+ };
+
+ "element" = {
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ orientation = mkLiteral "horizontal";
+ border-radius = mkLiteral "4px";
+ padding = mkLiteral "2px 2px 2px 2px";
+ };
+
+ "element-text, element-icon" = {
+ background-color = mkLiteral "inherit";
+ text-color = mkLiteral "inherit";
+ };
+
+ "element-icon" = {
+ size = mkLiteral "40px";
+ border = mkLiteral "10px";
+ };
+
+ "element-text" = { padding = mkLiteral "20px 0px 0px 10px"; };
+
+ "element selected" = {
+ background-color = mkLiteral "@selected";
+ text-color = mkLiteral "@selected-text";
+ border = mkLiteral "0px";
+ border-radius = mkLiteral "3px";
+ border-color = mkLiteral "@selected";
+ };
+ };
};
}
diff --git home/ssh/default.nix home/ssh/default.nix
index 4b8ebfb..4b800d1 100644
--- home/ssh/default.nix
+++ home/ssh/default.nix
@@ -1,66 +1,66 @@
{ inputs, config, pkgs, ... }:
{
- programs.ssh = {
- enable = true;
- includes = ["gpulab_hosts_config"];
- matchBlocks = {
- mallorea = {
- host = "mallorea";
- hostname = "server.thomasave.be";
- port = 22;
- user = "server";
- forwardAgent = true;
- };
- Mallorea = {
- host = "Mallorea";
- hostname = "server.thomasave.be";
- port = 22;
- user = "server";
- forwardAgent = true;
- };
- Kell = {
- host = "Kell";
- hostname = "kell.thomasave.be";
- port = 22;
- user = "user";
- forwardAgent = true;
- };
- kell = {
- host = "kell";
- hostname = "kell.thomasave.be";
- port = 22;
- user = "user";
- forwardAgent = true;
- };
- Riva = {
- host = "Riva";
- hostname = "riva.thomasave.be";
- port = 22;
- user = "user";
- forwardAgent = true;
- };
- riva = {
- host = "riva";
- hostname = "riva.thomasave.be";
- port = 22;
- user = "user";
- forwardAgent = true;
- };
- Vault = {
- host = "Vault";
- hostname = "etienne.thomasave.be";
- port = 22;
- user = "server";
- forwardAgent = true;
- };
- vault = {
- host = "vault";
- hostname = "etienne.thomasave.be";
- port = 22;
- user = "server";
- forwardAgent = true;
- };
- };
+ programs.ssh = {
+ enable = true;
+ includes = [ "gpulab_hosts_config" ];
+ matchBlocks = {
+ mallorea = {
+ host = "mallorea";
+ hostname = "server.thomasave.be";
+ port = 22;
+ user = "server";
+ forwardAgent = true;
+ };
+ Mallorea = {
+ host = "Mallorea";
+ hostname = "server.thomasave.be";
+ port = 22;
+ user = "server";
+ forwardAgent = true;
+ };
+ Kell = {
+ host = "Kell";
+ hostname = "kell.thomasave.be";
+ port = 22;
+ user = "user";
+ forwardAgent = true;
+ };
+ kell = {
+ host = "kell";
+ hostname = "kell.thomasave.be";
+ port = 22;
+ user = "user";
+ forwardAgent = true;
+ };
+ Riva = {
+ host = "Riva";
+ hostname = "riva.thomasave.be";
+ port = 22;
+ user = "user";
+ forwardAgent = true;
+ };
+ riva = {
+ host = "riva";
+ hostname = "riva.thomasave.be";
+ port = 22;
+ user = "user";
+ forwardAgent = true;
+ };
+ Vault = {
+ host = "Vault";
+ hostname = "etienne.thomasave.be";
+ port = 22;
+ user = "server";
+ forwardAgent = true;
+ };
+ vault = {
+ host = "vault";
+ hostname = "etienne.thomasave.be";
+ port = 22;
+ user = "server";
+ forwardAgent = true;
+ };
};
+ };
}
diff --git home/waybar/default.nix home/waybar/default.nix
index e509df7..fa1b436 100644
--- home/waybar/default.nix
+++ home/waybar/default.nix
@@ -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 = "{} ";
};
diff --git home/zsh/default.nix home/zsh/default.nix
index d910b27..419344e 100644
--- home/zsh/default.nix
+++ home/zsh/default.nix
@@ -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;
diff --git hosts/Kell/default.nix hosts/Kell/default.nix
index 3ff7f53..a4bcf8d 100644
--- hosts/Kell/default.nix
+++ hosts/Kell/default.nix
@@ -1,64 +1,59 @@
-{inputs, pkgs, ...}:
+{ inputs, pkgs, ... }:
{
services.pcscd.enable = true;
services.udev.packages = [ pkgs.yubikey-personalization ];
- services.logind.extraConfig = ''
+ services.logind.extraConfig = ''
# don’t shutdown when power button is short-pressed
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 ];
+ # 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.
- # 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
- ];
- # 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.
-
- networking.wg-quick.interfaces = {
- wg0 = {
- address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ];
- dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
- privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key";
- listenPort = 51820;
- peers = [
- {
- publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
- allowedIPs = [ "10.0.0.1/8" ];
- endpoint = "192.168.1.1:13231";
- }
- ];
- };
- };
- fileSystems."/home/server" = {
- device = "192.168.1.2:/home/server";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
- fileSystems."/home/user/Workspace" = {
- device = "192.168.1.2:/home/server/Workspace";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
- fileSystems."/home/user/Documents" = {
- device = "192.168.1.2:/home/server/Storage/Thomas/Documents";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
- fileSystems."/home/user/Pictures" = {
- device = "192.168.1.2:/home/server/Storage/Thomas/Pictures";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
- fileSystems."/home/user/Videos" = {
- device = "192.168.1.2:/home/server/Storage/Thomas/Videos";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
+ networking.wg-quick.interfaces = {
+ wg0 = {
+ address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ];
+ dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
+ privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key";
+ listenPort = 51820;
+ peers = [{
+ publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
+ allowedIPs = [ "10.0.0.1/8" ];
+ endpoint = "192.168.1.1:13231";
+ }];
+ };
+ };
+ fileSystems."/home/server" = {
+ device = "192.168.1.2:/home/server";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
+ fileSystems."/home/user/Workspace" = {
+ device = "192.168.1.2:/home/server/Workspace";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
+ fileSystems."/home/user/Documents" = {
+ device = "192.168.1.2:/home/server/Storage/Thomas/Documents";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
+ fileSystems."/home/user/Pictures" = {
+ device = "192.168.1.2:/home/server/Storage/Thomas/Pictures";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
+ fileSystems."/home/user/Videos" = {
+ device = "192.168.1.2:/home/server/Storage/Thomas/Videos";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
}
diff --git hosts/Kell/hardware-configuration.nix hosts/Kell/hardware-configuration.nix
index 90cea7a..2d2ca47 100644
--- hosts/Kell/hardware-configuration.nix
+++ hosts/Kell/hardware-configuration.nix
@@ -4,25 +4,24 @@
{ 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";
- fsType = "ext4";
- };
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/feef066a-9abf-418d-a39e-603c406a72ff";
+ fsType = "ext4";
+ };
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/0D9B-B227";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/0D9B-B227";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
swapDevices = [ ];
@@ -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;
}
diff --git hosts/nixos/default.nix hosts/nixos/default.nix
index 2c63c08..ffcd441 100644
--- hosts/nixos/default.nix
+++ hosts/nixos/default.nix
@@ -1,2 +1 @@
-{
-}
+{ }
diff --git hosts/nixos/hardware-configuration.nix hosts/nixos/hardware-configuration.nix
index ca457b2..a88f30f 100644
--- hosts/nixos/hardware-configuration.nix
+++ hosts/nixos/hardware-configuration.nix
@@ -4,28 +4,24 @@
{ 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."/" =
- {
- device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff";
- fsType = "ext4";
- };
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff";
+ fsType = "ext4";
+ };
- fileSystems."/boot" =
- {
- device = "/dev/disk/by-uuid/9F3C-9F3B";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/9F3C-9F3B";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
swapDevices = [ ];
index f222823..39cd281 100644
--- flake.nix
+++ flake.nix
@@ -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};
@@ -38,9 +32,9 @@
{
networking.hostName = host;
boot.loader.systemd-boot = {
- enable = true;
- memtest86.enable = true;
- netbootxyz.enable = true;
+ enable = true;
+ memtest86.enable = true;
+ netbootxyz.enable = true;
};
boot.loader.timeout = 1;
boot.loader.efi.canTouchEfiVariables = true;
@@ -48,15 +42,17 @@
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;
};
nix.gc = {
- automatic = true;
- dates = "daily";
- options = "--delete-older-than 2d";
+ automatic = true;
+ dates = "daily";
+ options = "--delete-older-than 2d";
};
programs.zsh.enable = 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 {
- system = cfg.system or "x86_64-linux";
- modules = (commonModules host cfg.user) ++ (cfg.modules or [ ]);
- specialArgs = inputs;
- };
- systems = {
- nixos = {
- user = "user";
- };
- Kell = {
- user = "user";
+ 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;
- };
+ in { nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; };
}
diff --git home/Kell.nix home/Kell.nix
index d6205a7..6d95393 100644
--- home/Kell.nix
+++ home/Kell.nix
@@ -2,13 +2,13 @@
{
imports = [
- (import ./common.nix { inherit inputs config pkgs; })
- (import ./hyprland { inherit inputs pkgs; })
- (import ./waybar { inherit inputs pkgs; })
- ./rofi
- ./alacritty
- ./firefox
- ./ssh
+ (import ./common.nix { inherit inputs config pkgs; })
+ (import ./hyprland { inherit inputs pkgs; })
+ (import ./waybar { inherit inputs pkgs; })
+ ./rofi
+ ./alacritty
+ ./firefox
+ ./ssh
];
services.hyprpaper = {
settings = {
@@ -21,14 +21,8 @@
};
gtk.iconTheme = {
- name = "Papirus";
- gtk.iconTheme.package = pkgs.papirus-icon-theme;
- };
- programs.waybar = {
- settings = {
- mainBar = {
- output = "DP-2";
- };
- };
+ name = "Papirus";
+ gtk.iconTheme.package = pkgs.papirus-icon-theme;
};
+ programs.waybar = { settings = { mainBar = { output = "DP-2"; }; }; };
}
diff --git home/alacritty/default.nix home/alacritty/default.nix
index dc9799f..b8e2d40 100644
--- home/alacritty/default.nix
+++ home/alacritty/default.nix
@@ -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";
}
];
- };
};
- }
+ };
+}
diff --git home/common.nix home/common.nix
index 5e568e8..93d0d6b 100644
--- home/common.nix
+++ home/common.nix
@@ -1,23 +1,13 @@
{ inputs, config, pkgs, ... }:
{
- imports = [
- ./zsh
- ./git
- ./nvim
- ./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}";
diff --git home/email/default.nix home/email/default.nix
index caeaa36..6140376 100644
--- home/email/default.nix
+++ home/email/default.nix
@@ -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
diff --git home/firefox/default.nix home/firefox/default.nix
index 4ba4256..72c6564 100644
--- home/firefox/default.nix
+++ home/firefox/default.nix
@@ -1,98 +1,106 @@
-{inputs, pkgs, ...}:
+{ inputs, pkgs, ... }:
let
-lock-false = {
+ lock-false = {
Value = false;
Status = "locked";
-};
-lock-true = {
+ };
+ lock-true = {
Value = true;
Status = "locked";
-};
-in
-{
- programs.firefox = {
- enable = true;
- policies = {
- DisableTelemetry = true;
- DisableFirefoxStudies = true;
- DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
- EnableTrackingProtection = {
- Value = true;
- Locked = true;
- Cryptomining = true;
- Fingerprinting = true;
- };
- ExtensionSettings = {
- "{c7c120ff-2878-4e59-a5a3-cd4d1655bc13}" = {
- install_url = "file://${./files/signed.xpi}";
- installation_mode = "normal_installed";
- };
- "@contain-google" = {
- 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";
- installation_mode = "normal_installed";
- };
- "{3e4d2037-d300-4e95-859d-3cba866f46d3}" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/private-internet-access-ext/latest.xpi";
- installation_mode = "normal_installed";
- };
- };
+ };
+in {
+ programs.firefox = {
+ enable = true;
+ policies = {
+ DisableTelemetry = true;
+ DisableFirefoxStudies = true;
+ DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
+ EnableTrackingProtection = {
+ Value = true;
+ Locked = true;
+ Cryptomining = true;
+ Fingerprinting = true;
+ };
+ ExtensionSettings = {
+ "{c7c120ff-2878-4e59-a5a3-cd4d1655bc13}" = {
+ install_url = "file://${./files/signed.xpi}";
+ installation_mode = "normal_installed";
+ };
+ "@contain-google" = {
+ 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";
+ installation_mode = "normal_installed";
+ };
+ "{3e4d2037-d300-4e95-859d-3cba866f46d3}" = {
+ install_url =
+ "https://addons.mozilla.org/firefox/downloads/latest/private-internet-access-ext/latest.xpi";
+ installation_mode = "normal_installed";
+ };
+ };
+ };
+ profiles = {
+ default = {
+ id = 0;
+ name = "default";
+ isDefault = true;
+ search = {
+ force = true;
+ default = "DuckDuckGo";
+ order = [ "DuckDuckGo" "Google" ];
};
- profiles = {
- default = {
- id = 0;
- name = "default";
- isDefault = true;
- search = {
- force = true;
- default = "DuckDuckGo";
- order = [ "DuckDuckGo" "Google" ];
- };
- extensions = with pkgs.nur.repos.rycee.firefox-addons; [
- ublock-origin
- bitwarden
- privacy-badger
- beyond-20
- display-_anchors
- facebook-container
- multi-account-containers
- istilldontcareaboutcookies
- return-youtube-dislikes
- sponsorblock
- unpaywall
- vimium
- ];
- settings = {
- "browser.disableResetPrompt" = true;
- "browser.download.panel.shown" = true;
- "browser.shell.checkDefaultBrowser" = false;
- "browser.tabs.inTitlebar" = 0;
- "browser.shell.defaultBrowserCheckCount" = 1;
- "browser.startup.homepage" = "https://start.duckduckgo.com";
- "browser.compactmode.show" = true;
- "browser.uidensity" = 1;
- "extensions.update.enabled" = false;
- "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}'';
- "privacy.trackingprotection.enabled" = true;
- };
- };
+ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
+ ublock-origin
+ bitwarden
+ privacy-badger
+ beyond-20
+ display-_anchors
+ facebook-container
+ multi-account-containers
+ istilldontcareaboutcookies
+ return-youtube-dislikes
+ sponsorblock
+ unpaywall
+ vimium
+ ];
+ settings = {
+ "browser.disableResetPrompt" = true;
+ "browser.download.panel.shown" = true;
+ "browser.shell.checkDefaultBrowser" = false;
+ "browser.tabs.inTitlebar" = 0;
+ "browser.shell.defaultBrowserCheckCount" = 1;
+ "browser.startup.homepage" = "https://start.duckduckgo.com";
+ "browser.compactmode.show" = true;
+ "browser.uidensity" = 1;
+ "extensions.update.enabled" = false;
+ "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}'';
+ "privacy.trackingprotection.enabled" = true;
};
+ };
};
+ };
- xdg.mimeApps.defaultApplications = {
- "text/html" = ["firefox.desktop"];
- "text/xml" = ["firefox.desktop"];
- "x-scheme-handler/http" = ["firefox.desktop"];
- "x-scheme-handler/https" = ["firefox.desktop"];
- };
+ xdg.mimeApps.defaultApplications = {
+ "text/html" = [ "firefox.desktop" ];
+ "text/xml" = [ "firefox.desktop" ];
+ "x-scheme-handler/http" = [ "firefox.desktop" ];
+ "x-scheme-handler/https" = [ "firefox.desktop" ];
+ };
}
diff --git home/hyprland/default.nix home/hyprland/default.nix
index b7b4e09..ab282dc 100644
--- home/hyprland/default.nix
+++ home/hyprland/default.nix
@@ -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:
- let
- 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)
- );
+ builtins.concatLists (builtins.genList (x:
+ let
+ 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));
};
};
}
diff --git home/lf/default.nix home/lf/default.nix
index 804fe46..d16c150 100644
--- home/lf/default.nix
+++ home/lf/default.nix
@@ -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"; };
};
}
diff --git home/nixos.nix home/nixos.nix
index ee6fc52..bfb8d58 100644
--- home/nixos.nix
+++ home/nixos.nix
@@ -2,25 +2,17 @@
{
imports = [
- (import ./common.nix { inherit inputs config pkgs; })
- (import ./hyprland { inherit inputs pkgs; })
- (import ./waybar { inherit inputs pkgs; })
- ./rofi
+ (import ./common.nix { inherit inputs config pkgs; })
+ (import ./hyprland { inherit inputs pkgs; })
+ (import ./waybar { inherit inputs pkgs; })
+ ./rofi
];
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"; }; }; };
}
diff --git home/rofi/default.nix home/rofi/default.nix
index dd65147..a5931ab 100644
--- home/rofi/default.nix
+++ home/rofi/default.nix
@@ -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,120 +12,115 @@
kb-cancel = "Super_L+XF86Launch5,Escape";
combi-hide-mode-prefix = true;
};
- theme =
- let
- inherit (config.lib.formats.rasi) mkLiteral;
- in
- {
- "*" = {
- background = mkLiteral "#0f111a";
- foreground = mkLiteral "#f1f1f1";
- selected = mkLiteral "#0033a1";
- selected-text = mkLiteral "#ffffff";
- };
-
- "window" = {
- transparency = "real";
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- width = mkLiteral "800px";
- border-radius = mkLiteral "5px";
- };
-
- "textbox-prompt-colon" = {
- expand = mkLiteral "false";
- background-color = mkLiteral "@background";
- padding = mkLiteral "4px 0px 0px 6px";
- };
-
- "inputbar" = {
- children = mkLiteral "[ textbox-prompt-colon, entry ]";
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- expand = mkLiteral "false";
- border = mkLiteral "0px 0px 0px 0px";
- border-radius = mkLiteral "0px";
- border-color = mkLiteral "@selected";
- margin = mkLiteral "0px 0px 0px 0px";
- padding = mkLiteral "0px 0px 4px 0px";
- position = mkLiteral "center";
- };
-
- "entry" = {
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- placeholder-color = mkLiteral "@foreground";
- expand = mkLiteral "true";
- horizontal-align = mkLiteral "0";
- blink = mkLiteral "true";
- padding = mkLiteral "4px 0px 0px 4px";
- font = "SF Pro Rounded 25";
- };
-
- "case-indicator" = {
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- spacing = mkLiteral "0";
- };
-
- "listview" = {
- background-color = mkLiteral "@background";
- columns = mkLiteral "1";
- spacing = mkLiteral "5px";
- cycle = mkLiteral "true";
- dynamic = mkLiteral "true";
- layout = mkLiteral "vertical";
- fixed-height = "true";
- lines = mkLiteral "5";
- };
-
- "mainbox" = {
- background-color = mkLiteral "@background";
- children = mkLiteral "[ inputbar, message, listview ]";
- spacing = mkLiteral "20px";
- padding = mkLiteral "20px 15px 15px 15px";
- };
-
- "message" = {
- children = mkLiteral "[ textbox ]";
- border-radius = mkLiteral "5px";
- };
-
- "textbox" = {
- background-color = mkLiteral "@selected";
- text-color = mkLiteral "@foreground";
- padding = mkLiteral "20px 6px 20px 80px";
- };
-
- "element" = {
- background-color = mkLiteral "@background";
- text-color = mkLiteral "@foreground";
- orientation = mkLiteral "horizontal";
- border-radius = mkLiteral "4px";
- padding = mkLiteral "2px 2px 2px 2px";
- };
-
- "element-text, element-icon" = {
- background-color = mkLiteral "inherit";
- text-color = mkLiteral "inherit";
- };
-
- "element-icon" = {
- size = mkLiteral "40px";
- border = mkLiteral "10px";
- };
-
- "element-text" = {
- padding = mkLiteral "20px 0px 0px 10px";
- };
-
- "element selected" = {
- background-color = mkLiteral "@selected";
- text-color = mkLiteral "@selected-text";
- border = mkLiteral "0px";
- border-radius = mkLiteral "3px";
- border-color = mkLiteral "@selected";
- };
+ theme = let inherit (config.lib.formats.rasi) mkLiteral;
+ in {
+ "*" = {
+ background = mkLiteral "#0f111a";
+ foreground = mkLiteral "#f1f1f1";
+ selected = mkLiteral "#0033a1";
+ selected-text = mkLiteral "#ffffff";
};
+
+ "window" = {
+ transparency = "real";
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ width = mkLiteral "800px";
+ border-radius = mkLiteral "5px";
+ };
+
+ "textbox-prompt-colon" = {
+ expand = mkLiteral "false";
+ background-color = mkLiteral "@background";
+ padding = mkLiteral "4px 0px 0px 6px";
+ };
+
+ "inputbar" = {
+ children = mkLiteral "[ textbox-prompt-colon, entry ]";
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ expand = mkLiteral "false";
+ border = mkLiteral "0px 0px 0px 0px";
+ border-radius = mkLiteral "0px";
+ border-color = mkLiteral "@selected";
+ margin = mkLiteral "0px 0px 0px 0px";
+ padding = mkLiteral "0px 0px 4px 0px";
+ position = mkLiteral "center";
+ };
+
+ "entry" = {
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ placeholder-color = mkLiteral "@foreground";
+ expand = mkLiteral "true";
+ horizontal-align = mkLiteral "0";
+ blink = mkLiteral "true";
+ padding = mkLiteral "4px 0px 0px 4px";
+ font = "SF Pro Rounded 25";
+ };
+
+ "case-indicator" = {
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ spacing = mkLiteral "0";
+ };
+
+ "listview" = {
+ background-color = mkLiteral "@background";
+ columns = mkLiteral "1";
+ spacing = mkLiteral "5px";
+ cycle = mkLiteral "true";
+ dynamic = mkLiteral "true";
+ layout = mkLiteral "vertical";
+ fixed-height = "true";
+ lines = mkLiteral "5";
+ };
+
+ "mainbox" = {
+ background-color = mkLiteral "@background";
+ children = mkLiteral "[ inputbar, message, listview ]";
+ spacing = mkLiteral "20px";
+ padding = mkLiteral "20px 15px 15px 15px";
+ };
+
+ "message" = {
+ children = mkLiteral "[ textbox ]";
+ border-radius = mkLiteral "5px";
+ };
+
+ "textbox" = {
+ background-color = mkLiteral "@selected";
+ text-color = mkLiteral "@foreground";
+ padding = mkLiteral "20px 6px 20px 80px";
+ };
+
+ "element" = {
+ background-color = mkLiteral "@background";
+ text-color = mkLiteral "@foreground";
+ orientation = mkLiteral "horizontal";
+ border-radius = mkLiteral "4px";
+ padding = mkLiteral "2px 2px 2px 2px";
+ };
+
+ "element-text, element-icon" = {
+ background-color = mkLiteral "inherit";
+ text-color = mkLiteral "inherit";
+ };
+
+ "element-icon" = {
+ size = mkLiteral "40px";
+ border = mkLiteral "10px";
+ };
+
+ "element-text" = { padding = mkLiteral "20px 0px 0px 10px"; };
+
+ "element selected" = {
+ background-color = mkLiteral "@selected";
+ text-color = mkLiteral "@selected-text";
+ border = mkLiteral "0px";
+ border-radius = mkLiteral "3px";
+ border-color = mkLiteral "@selected";
+ };
+ };
};
}
diff --git home/ssh/default.nix home/ssh/default.nix
index 4b8ebfb..4b800d1 100644
--- home/ssh/default.nix
+++ home/ssh/default.nix
@@ -1,66 +1,66 @@
{ inputs, config, pkgs, ... }:
{
- programs.ssh = {
- enable = true;
- includes = ["gpulab_hosts_config"];
- matchBlocks = {
- mallorea = {
- host = "mallorea";
- hostname = "server.thomasave.be";
- port = 22;
- user = "server";
- forwardAgent = true;
- };
- Mallorea = {
- host = "Mallorea";
- hostname = "server.thomasave.be";
- port = 22;
- user = "server";
- forwardAgent = true;
- };
- Kell = {
- host = "Kell";
- hostname = "kell.thomasave.be";
- port = 22;
- user = "user";
- forwardAgent = true;
- };
- kell = {
- host = "kell";
- hostname = "kell.thomasave.be";
- port = 22;
- user = "user";
- forwardAgent = true;
- };
- Riva = {
- host = "Riva";
- hostname = "riva.thomasave.be";
- port = 22;
- user = "user";
- forwardAgent = true;
- };
- riva = {
- host = "riva";
- hostname = "riva.thomasave.be";
- port = 22;
- user = "user";
- forwardAgent = true;
- };
- Vault = {
- host = "Vault";
- hostname = "etienne.thomasave.be";
- port = 22;
- user = "server";
- forwardAgent = true;
- };
- vault = {
- host = "vault";
- hostname = "etienne.thomasave.be";
- port = 22;
- user = "server";
- forwardAgent = true;
- };
- };
+ programs.ssh = {
+ enable = true;
+ includes = [ "gpulab_hosts_config" ];
+ matchBlocks = {
+ mallorea = {
+ host = "mallorea";
+ hostname = "server.thomasave.be";
+ port = 22;
+ user = "server";
+ forwardAgent = true;
+ };
+ Mallorea = {
+ host = "Mallorea";
+ hostname = "server.thomasave.be";
+ port = 22;
+ user = "server";
+ forwardAgent = true;
+ };
+ Kell = {
+ host = "Kell";
+ hostname = "kell.thomasave.be";
+ port = 22;
+ user = "user";
+ forwardAgent = true;
+ };
+ kell = {
+ host = "kell";
+ hostname = "kell.thomasave.be";
+ port = 22;
+ user = "user";
+ forwardAgent = true;
+ };
+ Riva = {
+ host = "Riva";
+ hostname = "riva.thomasave.be";
+ port = 22;
+ user = "user";
+ forwardAgent = true;
+ };
+ riva = {
+ host = "riva";
+ hostname = "riva.thomasave.be";
+ port = 22;
+ user = "user";
+ forwardAgent = true;
+ };
+ Vault = {
+ host = "Vault";
+ hostname = "etienne.thomasave.be";
+ port = 22;
+ user = "server";
+ forwardAgent = true;
+ };
+ vault = {
+ host = "vault";
+ hostname = "etienne.thomasave.be";
+ port = 22;
+ user = "server";
+ forwardAgent = true;
+ };
};
+ };
}
diff --git home/waybar/default.nix home/waybar/default.nix
index e509df7..fa1b436 100644
--- home/waybar/default.nix
+++ home/waybar/default.nix
@@ -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 = "{} ";
};
diff --git home/zsh/default.nix home/zsh/default.nix
index d910b27..419344e 100644
--- home/zsh/default.nix
+++ home/zsh/default.nix
@@ -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;
diff --git hosts/Kell/default.nix hosts/Kell/default.nix
index 3ff7f53..a4bcf8d 100644
--- hosts/Kell/default.nix
+++ hosts/Kell/default.nix
@@ -1,64 +1,59 @@
-{inputs, pkgs, ...}:
+{ inputs, pkgs, ... }:
{
services.pcscd.enable = true;
services.udev.packages = [ pkgs.yubikey-personalization ];
- services.logind.extraConfig = ''
+ services.logind.extraConfig = ''
# don’t shutdown when power button is short-pressed
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 ];
+ # 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.
- # 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
- ];
- # 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.
-
- networking.wg-quick.interfaces = {
- wg0 = {
- address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ];
- dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
- privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key";
- listenPort = 51820;
- peers = [
- {
- publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
- allowedIPs = [ "10.0.0.1/8" ];
- endpoint = "192.168.1.1:13231";
- }
- ];
- };
- };
- fileSystems."/home/server" = {
- device = "192.168.1.2:/home/server";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
- fileSystems."/home/user/Workspace" = {
- device = "192.168.1.2:/home/server/Workspace";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
- fileSystems."/home/user/Documents" = {
- device = "192.168.1.2:/home/server/Storage/Thomas/Documents";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
- fileSystems."/home/user/Pictures" = {
- device = "192.168.1.2:/home/server/Storage/Thomas/Pictures";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
- fileSystems."/home/user/Videos" = {
- device = "192.168.1.2:/home/server/Storage/Thomas/Videos";
- fsType = "nfs";
- options = [ "x-systemd.automount" "noauto" ];
- };
+ networking.wg-quick.interfaces = {
+ wg0 = {
+ address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ];
+ dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
+ privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key";
+ listenPort = 51820;
+ peers = [{
+ publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
+ allowedIPs = [ "10.0.0.1/8" ];
+ endpoint = "192.168.1.1:13231";
+ }];
+ };
+ };
+ fileSystems."/home/server" = {
+ device = "192.168.1.2:/home/server";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
+ fileSystems."/home/user/Workspace" = {
+ device = "192.168.1.2:/home/server/Workspace";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
+ fileSystems."/home/user/Documents" = {
+ device = "192.168.1.2:/home/server/Storage/Thomas/Documents";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
+ fileSystems."/home/user/Pictures" = {
+ device = "192.168.1.2:/home/server/Storage/Thomas/Pictures";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
+ fileSystems."/home/user/Videos" = {
+ device = "192.168.1.2:/home/server/Storage/Thomas/Videos";
+ fsType = "nfs";
+ options = [ "x-systemd.automount" "noauto" ];
+ };
}
diff --git hosts/Kell/hardware-configuration.nix hosts/Kell/hardware-configuration.nix
index 90cea7a..2d2ca47 100644
--- hosts/Kell/hardware-configuration.nix
+++ hosts/Kell/hardware-configuration.nix
@@ -4,25 +4,24 @@
{ 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";
- fsType = "ext4";
- };
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/feef066a-9abf-418d-a39e-603c406a72ff";
+ fsType = "ext4";
+ };
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/0D9B-B227";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/0D9B-B227";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
swapDevices = [ ];
@@ -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;
}
diff --git hosts/nixos/default.nix hosts/nixos/default.nix
index 2c63c08..ffcd441 100644
--- hosts/nixos/default.nix
+++ hosts/nixos/default.nix
@@ -1,2 +1 @@
-{
-}
+{ }
diff --git hosts/nixos/hardware-configuration.nix hosts/nixos/hardware-configuration.nix
index ca457b2..a88f30f 100644
--- hosts/nixos/hardware-configuration.nix
+++ hosts/nixos/hardware-configuration.nix
@@ -4,28 +4,24 @@
{ 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."/" =
- {
- device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff";
- fsType = "ext4";
- };
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff";
+ fsType = "ext4";
+ };
- fileSystems."/boot" =
- {
- device = "/dev/disk/by-uuid/9F3C-9F3B";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/9F3C-9F3B";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
swapDevices = [ ];