Mon Jun 3 04:02:50 PM CEST 2024
This commit is contained in:
parent
441d5bfa22
commit
a8d4ffd131
66
flake.nix
66
flake.nix
|
@ -22,13 +22,7 @@
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = { self, nixpkgs, home-manager, nur, ... }@inputs:
|
||||||
{ self
|
|
||||||
, nixpkgs
|
|
||||||
, home-manager
|
|
||||||
, nur
|
|
||||||
, ...
|
|
||||||
}@inputs:
|
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
@ -38,9 +32,9 @@
|
||||||
{
|
{
|
||||||
networking.hostName = host;
|
networking.hostName = host;
|
||||||
boot.loader.systemd-boot = {
|
boot.loader.systemd-boot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
memtest86.enable = true;
|
memtest86.enable = true;
|
||||||
netbootxyz.enable = true;
|
netbootxyz.enable = true;
|
||||||
};
|
};
|
||||||
boot.loader.timeout = 1;
|
boot.loader.timeout = 1;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
@ -48,15 +42,17 @@
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
substituters = [ "https://hyprland.cachix.org" ];
|
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" ];
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.gc = {
|
nix.gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
dates = "daily";
|
dates = "daily";
|
||||||
options = "--delete-older-than 2d";
|
options = "--delete-older-than 2d";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
@ -99,12 +95,7 @@
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ wget curl git ];
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
wget
|
|
||||||
curl
|
|
||||||
git
|
|
||||||
];
|
|
||||||
|
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -116,7 +107,8 @@
|
||||||
|
|
||||||
networking.firewall.enable = false;
|
networking.firewall.enable = false;
|
||||||
system.stateVersion = "23.11";
|
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; [
|
fonts.packages = with pkgs; [
|
||||||
noto-fonts
|
noto-fonts
|
||||||
|
@ -130,31 +122,25 @@
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
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;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users.${user} = {
|
users.${user} = { imports = [ ./home/${host}.nix ]; };
|
||||||
imports = [ ./home/${host}.nix ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
./hosts/${host}
|
./hosts/${host}
|
||||||
];
|
];
|
||||||
mkSystem = host: cfg: nixpkgs.lib.nixosSystem {
|
mkSystem = host: cfg:
|
||||||
system = cfg.system or "x86_64-linux";
|
nixpkgs.lib.nixosSystem {
|
||||||
modules = (commonModules host cfg.user) ++ (cfg.modules or [ ]);
|
system = cfg.system or "x86_64-linux";
|
||||||
specialArgs = inputs;
|
modules = (commonModules host cfg.user) ++ (cfg.modules or [ ]);
|
||||||
};
|
specialArgs = inputs;
|
||||||
|
};
|
||||||
systems = {
|
systems = {
|
||||||
nixos = {
|
nixos = { user = "user"; };
|
||||||
user = "user";
|
Kell = { user = "user"; };
|
||||||
};
|
|
||||||
Kell = {
|
|
||||||
user = "user";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
in
|
in { nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; };
|
||||||
{
|
|
||||||
nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
(import ./common.nix { inherit inputs config pkgs; })
|
(import ./common.nix { inherit inputs config pkgs; })
|
||||||
(import ./hyprland { inherit inputs pkgs; })
|
(import ./hyprland { inherit inputs pkgs; })
|
||||||
(import ./waybar { inherit inputs pkgs; })
|
(import ./waybar { inherit inputs pkgs; })
|
||||||
./rofi
|
./rofi
|
||||||
./alacritty
|
./alacritty
|
||||||
./firefox
|
./firefox
|
||||||
./ssh
|
./ssh
|
||||||
];
|
];
|
||||||
services.hyprpaper = {
|
services.hyprpaper = {
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -21,14 +21,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk.iconTheme = {
|
gtk.iconTheme = {
|
||||||
name = "Papirus";
|
name = "Papirus";
|
||||||
gtk.iconTheme.package = pkgs.papirus-icon-theme;
|
gtk.iconTheme.package = pkgs.papirus-icon-theme;
|
||||||
};
|
|
||||||
programs.waybar = {
|
|
||||||
settings = {
|
|
||||||
mainBar = {
|
|
||||||
output = "DP-2";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
programs.waybar = { settings = { mainBar = { output = "DP-2"; }; }; };
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,51 +77,51 @@
|
||||||
action = "ReceiveChar";
|
action = "ReceiveChar";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[72;6u";
|
chars = "u001B[72;6u";
|
||||||
key = "H";
|
key = "H";
|
||||||
mods = "Control|Shift";
|
mods = "Control|Shift";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[74;6u";
|
chars = "u001B[74;6u";
|
||||||
key = "J";
|
key = "J";
|
||||||
mods = "Control|Shift";
|
mods = "Control|Shift";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[75;6u";
|
chars = "u001B[75;6u";
|
||||||
key = "K";
|
key = "K";
|
||||||
mods = "Control|Shift";
|
mods = "Control|Shift";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[76;6u";
|
chars = "u001B[76;6u";
|
||||||
key = "L";
|
key = "L";
|
||||||
mods = "Control|Shift";
|
mods = "Control|Shift";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[105;5u";
|
chars = "u001B[105;5u";
|
||||||
key = "I";
|
key = "I";
|
||||||
mods = "Control";
|
mods = "Control";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[46;5u";
|
chars = "u001B[46;5u";
|
||||||
key = "Period";
|
key = "Period";
|
||||||
mods = "Control";
|
mods = "Control";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[44;5u";
|
chars = "u001B[44;5u";
|
||||||
key = "Comma";
|
key = "Comma";
|
||||||
mods = "Control";
|
mods = "Control";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[59;5u";
|
chars = "u001B[59;5u";
|
||||||
key = "Semicolon";
|
key = "Semicolon";
|
||||||
mods = "Control";
|
mods = "Control";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
chars = "\u001B[13;2u";
|
chars = "u001B[13;2u";
|
||||||
key = "Return";
|
key = "Return";
|
||||||
mods = "Shift";
|
mods = "Shift";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,23 +1,13 @@
|
||||||
{ inputs, config, pkgs, ... }:
|
{ inputs, config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [ ./zsh ./git ./nvim ./email ./lf ];
|
||||||
./zsh
|
|
||||||
./git
|
|
||||||
./nvim
|
|
||||||
./email
|
|
||||||
./lf
|
|
||||||
];
|
|
||||||
|
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11";
|
||||||
targets.genericLinux.enable = true;
|
targets.genericLinux.enable = true;
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [ htop waypipe ];
|
||||||
htop
|
|
||||||
waypipe
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
XDG_CONFIG_HOME = "${config.xdg.configHome}";
|
XDG_CONFIG_HOME = "${config.xdg.configHome}";
|
||||||
|
|
|
@ -2,26 +2,21 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
home.file = {
|
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; [
|
home.packages = with pkgs; [ mailcap ];
|
||||||
mailcap
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.notmuch = {
|
programs.notmuch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
database = {
|
database = { path = "/home/user/.config/aerc/mail"; };
|
||||||
path = "/home/user/.config/aerc/mail";
|
|
||||||
};
|
|
||||||
user = {
|
user = {
|
||||||
name = "Thomas Avé";
|
name = "Thomas Avé";
|
||||||
primary_email = "email@thomasave.be";
|
primary_email = "email@thomasave.be";
|
||||||
other_email = "Thomas.Ave@uantwerpen.be;Thomas.Ave@imec.be;";
|
other_email = "Thomas.Ave@uantwerpen.be;Thomas.Ave@imec.be;";
|
||||||
};
|
};
|
||||||
maildir = {
|
maildir = { synchronize_flags = "true"; };
|
||||||
synchronize_flags = "true";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs.aerc = {
|
programs.aerc = {
|
||||||
|
@ -157,9 +152,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
general = {
|
general = { term = "xterm-256color"; };
|
||||||
term = "xterm-256color";
|
|
||||||
};
|
|
||||||
ui = {
|
ui = {
|
||||||
border-char-vertical = "│";
|
border-char-vertical = "│";
|
||||||
border-char-horizontal = "─";
|
border-char-horizontal = "─";
|
||||||
|
@ -170,12 +163,8 @@
|
||||||
dirlist-right = "{{if .Unread}}{{humanReadable .Unread}}{{end}}";
|
dirlist-right = "{{if .Unread}}{{humanReadable .Unread}}{{end}}";
|
||||||
dirlist-tree = true;
|
dirlist-tree = true;
|
||||||
};
|
};
|
||||||
viewer = {
|
viewer = { pager = "nvim -u $XDG_CONFIG_HOME/nvim/aerc.lua"; };
|
||||||
pager = "nvim -u $XDG_CONFIG_HOME/nvim/aerc.lua";
|
compose = { address-book-cmd = ''notmuch address "%s"''; };
|
||||||
};
|
|
||||||
compose = {
|
|
||||||
address-book-cmd = "notmuch address \"\%s\"";
|
|
||||||
};
|
|
||||||
multipart-converters = {
|
multipart-converters = {
|
||||||
"text/html" = "w3m -dump -o display_link_number=1 -T text/html";
|
"text/html" = "w3m -dump -o display_link_number=1 -T text/html";
|
||||||
};
|
};
|
||||||
|
@ -185,13 +174,14 @@
|
||||||
"message/delivery-status" = "cat";
|
"message/delivery-status" = "cat";
|
||||||
"message/rfc822" = "cat";
|
"message/rfc822" = "cat";
|
||||||
"text/html" = "w3m -dump -o display_link_number=1 -T text/html";
|
"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";
|
"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 = ''
|
home.file."${config.xdg.configHome}/aerc/stylesets/catppuccin-mocha".text = ''
|
||||||
*.default=true
|
*.default=true
|
||||||
*.normal=true
|
*.normal=true
|
||||||
|
|
|
@ -1,98 +1,106 @@
|
||||||
{inputs, pkgs, ...}:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
let
|
||||||
lock-false = {
|
lock-false = {
|
||||||
Value = false;
|
Value = false;
|
||||||
Status = "locked";
|
Status = "locked";
|
||||||
};
|
};
|
||||||
lock-true = {
|
lock-true = {
|
||||||
Value = true;
|
Value = true;
|
||||||
Status = "locked";
|
Status = "locked";
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
programs.firefox = {
|
||||||
programs.firefox = {
|
enable = true;
|
||||||
enable = true;
|
policies = {
|
||||||
policies = {
|
DisableTelemetry = true;
|
||||||
DisableTelemetry = true;
|
DisableFirefoxStudies = true;
|
||||||
DisableFirefoxStudies = true;
|
DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
|
||||||
DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
|
EnableTrackingProtection = {
|
||||||
EnableTrackingProtection = {
|
Value = true;
|
||||||
Value = true;
|
Locked = true;
|
||||||
Locked = true;
|
Cryptomining = true;
|
||||||
Cryptomining = true;
|
Fingerprinting = true;
|
||||||
Fingerprinting = true;
|
};
|
||||||
};
|
ExtensionSettings = {
|
||||||
ExtensionSettings = {
|
"{c7c120ff-2878-4e59-a5a3-cd4d1655bc13}" = {
|
||||||
"{c7c120ff-2878-4e59-a5a3-cd4d1655bc13}" = {
|
install_url = "file://${./files/signed.xpi}";
|
||||||
install_url = "file://${./files/signed.xpi}";
|
installation_mode = "normal_installed";
|
||||||
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 = {
|
"@contain-google" = {
|
||||||
default = {
|
install_url =
|
||||||
id = 0;
|
"https://addons.mozilla.org/firefox/downloads/latest/google-container/latest.xpi";
|
||||||
name = "default";
|
installation_mode = "normal_installed";
|
||||||
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
"{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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
xdg.mimeApps.defaultApplications = {
|
|
||||||
"text/html" = ["firefox.desktop"];
|
|
||||||
"text/xml" = ["firefox.desktop"];
|
|
||||||
"x-scheme-handler/http" = ["firefox.desktop"];
|
|
||||||
"x-scheme-handler/https" = ["firefox.desktop"];
|
|
||||||
};
|
};
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.mimeApps.defaultApplications = {
|
||||||
|
"text/html" = [ "firefox.desktop" ];
|
||||||
|
"text/xml" = [ "firefox.desktop" ];
|
||||||
|
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||||
|
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{ inputs
|
{ inputs, pkgs, ... }:
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
hyprland = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
hyprland = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||||
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||||
|
@ -17,11 +14,11 @@ let
|
||||||
rofi = "${pkgs.rofi}/bin/rofi";
|
rofi = "${pkgs.rofi}/bin/rofi";
|
||||||
jq = "${pkgs.jq}/bin/jq";
|
jq = "${pkgs.jq}/bin/jq";
|
||||||
rofi-ykman = pkgs.writeShellScriptBin "rofi-ykman" ''
|
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"
|
prompt="YubiKey OATH"
|
||||||
account=''$(echo "''${accounts/, TOTP/\n}" | awk '{ print $0 "\0icon\x1fyubioath"; }' | ${rofi} -dmenu -i -p "''$prompt" ''${shortcuts[@]})
|
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")
|
code=$(${pkgs.yubikey-manager}/bin/ykman oath accounts code "$account")
|
||||||
IFS=', ' read -r -a code <<< "''$code"
|
IFS=', ' read -r -a code <<< "$code"
|
||||||
echo -n "''${code[-1]}" | ${pkgs.wl-clipboard}/bin/wl-copy;
|
echo -n "''${code[-1]}" | ${pkgs.wl-clipboard}/bin/wl-copy;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -60,25 +57,21 @@ let
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services.kdeconnect = {
|
services.kdeconnect = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.kdePackages.kdeconnect-kde;
|
package = pkgs.kdePackages.kdeconnect-kde;
|
||||||
indicator = true;
|
indicator = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [ wl-clipboard ];
|
||||||
wl-clipboard
|
|
||||||
];
|
|
||||||
|
|
||||||
services.hyprpaper = {
|
services.hyprpaper = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
ipc = "on";
|
ipc = "on";
|
||||||
splash = false;
|
splash = false;
|
||||||
preload =
|
preload = [ "${./files/wallpaper.png}" ];
|
||||||
[ "${./files/wallpaper.png}" ];
|
|
||||||
wallpaper = [
|
wallpaper = [
|
||||||
# Fill in by host-specific config!
|
# Fill in by host-specific config!
|
||||||
# "Display,${./files/wallpaper.png}"
|
# "Display,${./files/wallpaper.png}"
|
||||||
|
@ -127,9 +120,7 @@ in
|
||||||
"TERMINAL,${alacritty}"
|
"TERMINAL,${alacritty}"
|
||||||
"WLR_RENDERER_ALLOW_SOFTWARE,1"
|
"WLR_RENDERER_ALLOW_SOFTWARE,1"
|
||||||
];
|
];
|
||||||
debug = {
|
debug = { disable_logs = false; };
|
||||||
disable_logs = false;
|
|
||||||
};
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
"float, title:^(rofi)(.*)$"
|
"float, title:^(rofi)(.*)$"
|
||||||
"center, title:^(rofi)(.*)$"
|
"center, title:^(rofi)(.*)$"
|
||||||
|
@ -138,9 +129,7 @@ in
|
||||||
"minsize 1 1, title:^()$,class:^(steam)$"
|
"minsize 1 1, title:^()$,class:^(steam)$"
|
||||||
"stayfocused, title:^()$,class:^(steam)$"
|
"stayfocused, title:^()$,class:^(steam)$"
|
||||||
];
|
];
|
||||||
windowrule = [
|
windowrule = [ "noanim,waybar" ];
|
||||||
"noanim,waybar"
|
|
||||||
];
|
|
||||||
monitor = [
|
monitor = [
|
||||||
"DP-3,preferred,0x550,1"
|
"DP-3,preferred,0x550,1"
|
||||||
"DP-2,preferred,1920x0,1"
|
"DP-2,preferred,1920x0,1"
|
||||||
|
@ -160,20 +149,12 @@ in
|
||||||
kb_options = "compose:rctrl, caps:super, altwin:swap_alt_win";
|
kb_options = "compose:rctrl, caps:super, altwin:swap_alt_win";
|
||||||
numlock_by_default = true;
|
numlock_by_default = true;
|
||||||
};
|
};
|
||||||
binds = {
|
binds = { scroll_event_delay = 1; };
|
||||||
scroll_event_delay = 1;
|
xwayland = { force_zero_scaling = true; };
|
||||||
};
|
misc = { disable_hyprland_logo = 1; };
|
||||||
xwayland = {
|
|
||||||
force_zero_scaling = true;
|
|
||||||
};
|
|
||||||
misc = {
|
|
||||||
disable_hyprland_logo = 1;
|
|
||||||
};
|
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 1;
|
rounding = 1;
|
||||||
blur = {
|
blur = { enabled = false; };
|
||||||
enabled = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
animations = {
|
animations = {
|
||||||
enabled = "yes";
|
enabled = "yes";
|
||||||
|
@ -216,11 +197,14 @@ in
|
||||||
"$mainMod, F, togglefloating,"
|
"$mainMod, F, togglefloating,"
|
||||||
"$mainMod, SPACE, togglesplit, # dwindle"
|
"$mainMod, SPACE, togglesplit, # dwindle"
|
||||||
"CONTROL_L ALT_L, L, exec, ${swaylock}"
|
"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, Y, exec, ${rofi-ykman}/bin/rofi-ykman"
|
||||||
"$mainMod, N, exec, ${./files/rofi-ssh.sh}"
|
"$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"
|
",XF86MonBrightnessUp, exec, xbacklight -inc 10"
|
||||||
",XF86MonBrightnessDown, exec, xbacklight -dec 10"
|
",XF86MonBrightnessDown, exec, xbacklight -dec 10"
|
||||||
|
@ -235,7 +219,7 @@ in
|
||||||
"$mainMod,XF86AudioMute, exec, ${playerctl} play-pause"
|
"$mainMod,XF86AudioMute, exec, ${playerctl} play-pause"
|
||||||
"$mainMod,XF86AudioRaiseVolume, exec, ${playerctl} next"
|
"$mainMod,XF86AudioRaiseVolume, exec, ${playerctl} next"
|
||||||
"$mainMod,XF86AudioLowerVolume, exec, ${playerctl} previous"
|
"$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, H, exec, ${./files/vim-hypr-nav.sh} l"
|
||||||
"$mainMod, L, exec, ${./files/vim-hypr-nav.sh} r"
|
"$mainMod, L, exec, ${./files/vim-hypr-nav.sh} r"
|
||||||
|
@ -257,27 +241,16 @@ in
|
||||||
"$mainMod, T, split-workspace, empty"
|
"$mainMod, T, split-workspace, empty"
|
||||||
"$mainMod, TAB, split-workspace, m+1"
|
"$mainMod, TAB, split-workspace, m+1"
|
||||||
"$mainMod SHIFT, TAB, split-workspace, m-1"
|
"$mainMod SHIFT, TAB, split-workspace, m-1"
|
||||||
]
|
] ++ (
|
||||||
++ (
|
|
||||||
# workspaces
|
# workspaces
|
||||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
||||||
builtins.concatLists (builtins.genList
|
builtins.concatLists (builtins.genList (x:
|
||||||
(
|
let
|
||||||
x:
|
ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10));
|
||||||
let
|
in [
|
||||||
ws =
|
"$mainMod, ${ws}, split-workspace, ${toString (x + 1)}"
|
||||||
let
|
"$mainMod SHIFT, ${ws}, split-movetoworkspace, ${toString (x + 1)}"
|
||||||
c = (x + 1) / 10;
|
]) 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)
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,8 @@
|
||||||
"<backspace2>" = "quit";
|
"<backspace2>" = "quit";
|
||||||
"<c-e>" = "half-up";
|
"<c-e>" = "half-up";
|
||||||
"." = "set hidden!";
|
"." = "set hidden!";
|
||||||
"o" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
|
"o" = ''$nvim -c "lua require(\"oil\").open(\"$PWD\")"'';
|
||||||
"-" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
|
"-" = ''$nvim -c "lua require(\"oil\").open(\"$PWD\")"'';
|
||||||
"<enter>" = "open";
|
"<enter>" = "open";
|
||||||
"<c-t>" = ":jump <enter>";
|
"<c-t>" = ":jump <enter>";
|
||||||
};
|
};
|
||||||
|
@ -32,8 +32,6 @@
|
||||||
}}
|
}}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
cmdKeybindings = {
|
cmdKeybindings = { q = "quit"; };
|
||||||
q = "quit";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,25 +2,17 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
(import ./common.nix { inherit inputs config pkgs; })
|
(import ./common.nix { inherit inputs config pkgs; })
|
||||||
(import ./hyprland { inherit inputs pkgs; })
|
(import ./hyprland { inherit inputs pkgs; })
|
||||||
(import ./waybar { inherit inputs pkgs; })
|
(import ./waybar { inherit inputs pkgs; })
|
||||||
./rofi
|
./rofi
|
||||||
];
|
];
|
||||||
|
|
||||||
services.hyprpaper = {
|
services.hyprpaper = {
|
||||||
settings = {
|
settings = {
|
||||||
wallpaper = [
|
wallpaper = [ "Virtual-1,${./hyprland/files/wallpaper.png}" ];
|
||||||
"Virtual-1,${./hyprland/files/wallpaper.png}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = { settings = { mainBar = { output = "Virtual-1"; }; }; };
|
||||||
settings = {
|
|
||||||
mainBar = {
|
|
||||||
output = "Virtual-1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [ papirus-icon-theme ];
|
||||||
papirus-icon-theme
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -14,120 +12,115 @@
|
||||||
kb-cancel = "Super_L+XF86Launch5,Escape";
|
kb-cancel = "Super_L+XF86Launch5,Escape";
|
||||||
combi-hide-mode-prefix = true;
|
combi-hide-mode-prefix = true;
|
||||||
};
|
};
|
||||||
theme =
|
theme = let inherit (config.lib.formats.rasi) mkLiteral;
|
||||||
let
|
in {
|
||||||
inherit (config.lib.formats.rasi) mkLiteral;
|
"*" = {
|
||||||
in
|
background = mkLiteral "#0f111a";
|
||||||
{
|
foreground = mkLiteral "#f1f1f1";
|
||||||
"*" = {
|
selected = mkLiteral "#0033a1";
|
||||||
background = mkLiteral "#0f111a";
|
selected-text = mkLiteral "#ffffff";
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"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";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,66 +1,66 @@
|
||||||
{ inputs, config, pkgs, ... }:
|
{ inputs, config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
includes = ["gpulab_hosts_config"];
|
includes = [ "gpulab_hosts_config" ];
|
||||||
matchBlocks = {
|
matchBlocks = {
|
||||||
mallorea = {
|
mallorea = {
|
||||||
host = "mallorea";
|
host = "mallorea";
|
||||||
hostname = "server.thomasave.be";
|
hostname = "server.thomasave.be";
|
||||||
port = 22;
|
port = 22;
|
||||||
user = "server";
|
user = "server";
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
};
|
};
|
||||||
Mallorea = {
|
Mallorea = {
|
||||||
host = "Mallorea";
|
host = "Mallorea";
|
||||||
hostname = "server.thomasave.be";
|
hostname = "server.thomasave.be";
|
||||||
port = 22;
|
port = 22;
|
||||||
user = "server";
|
user = "server";
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
};
|
};
|
||||||
Kell = {
|
Kell = {
|
||||||
host = "Kell";
|
host = "Kell";
|
||||||
hostname = "kell.thomasave.be";
|
hostname = "kell.thomasave.be";
|
||||||
port = 22;
|
port = 22;
|
||||||
user = "user";
|
user = "user";
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
};
|
};
|
||||||
kell = {
|
kell = {
|
||||||
host = "kell";
|
host = "kell";
|
||||||
hostname = "kell.thomasave.be";
|
hostname = "kell.thomasave.be";
|
||||||
port = 22;
|
port = 22;
|
||||||
user = "user";
|
user = "user";
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
};
|
};
|
||||||
Riva = {
|
Riva = {
|
||||||
host = "Riva";
|
host = "Riva";
|
||||||
hostname = "riva.thomasave.be";
|
hostname = "riva.thomasave.be";
|
||||||
port = 22;
|
port = 22;
|
||||||
user = "user";
|
user = "user";
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
};
|
};
|
||||||
riva = {
|
riva = {
|
||||||
host = "riva";
|
host = "riva";
|
||||||
hostname = "riva.thomasave.be";
|
hostname = "riva.thomasave.be";
|
||||||
port = 22;
|
port = 22;
|
||||||
user = "user";
|
user = "user";
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
};
|
};
|
||||||
Vault = {
|
Vault = {
|
||||||
host = "Vault";
|
host = "Vault";
|
||||||
hostname = "etienne.thomasave.be";
|
hostname = "etienne.thomasave.be";
|
||||||
port = 22;
|
port = 22;
|
||||||
user = "server";
|
user = "server";
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
};
|
};
|
||||||
vault = {
|
vault = {
|
||||||
host = "vault";
|
host = "vault";
|
||||||
hostname = "etienne.thomasave.be";
|
hostname = "etienne.thomasave.be";
|
||||||
port = 22;
|
port = 22;
|
||||||
user = "server";
|
user = "server";
|
||||||
forwardAgent = true;
|
forwardAgent = true;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{ inputs
|
{ inputs, pkgs, ... }:
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
|
@ -15,7 +12,18 @@
|
||||||
# output = "DP-2"; # Fill in with host-specific config!
|
# output = "DP-2"; # Fill in with host-specific config!
|
||||||
modules-left = [ "wlr/taskbar" ];
|
modules-left = [ "wlr/taskbar" ];
|
||||||
modules-center = [ "hyprland/workspaces" ];
|
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" = {
|
"wlr/taskbar" = {
|
||||||
on-click = "activate";
|
on-click = "activate";
|
||||||
on-click-right = "close";
|
on-click-right = "close";
|
||||||
|
@ -34,12 +42,8 @@
|
||||||
warp-on-scroll = false;
|
warp-on-scroll = false;
|
||||||
format = "{name}";
|
format = "{name}";
|
||||||
};
|
};
|
||||||
"hyprland/window" = {
|
"hyprland/window" = { max-length = 50; };
|
||||||
max-length = 50;
|
tray = { spacing = 10; };
|
||||||
};
|
|
||||||
tray = {
|
|
||||||
spacing = 10;
|
|
||||||
};
|
|
||||||
"clock#clock2" = {
|
"clock#clock2" = {
|
||||||
timezone = "Europe/Brussels";
|
timezone = "Europe/Brussels";
|
||||||
format = "{:%H:%M:%S}";
|
format = "{:%H:%M:%S}";
|
||||||
|
@ -61,8 +65,10 @@
|
||||||
interval = 5;
|
interval = 5;
|
||||||
};
|
};
|
||||||
"custom/updates" = {
|
"custom/updates" = {
|
||||||
exec = "bash -c \"checkupdates | wc -l\"";
|
exec = ''bash -c "checkupdates | wc -l"'';
|
||||||
on-click = "alacritty -e bash -c \"yay ; echo '\nDone, press any key to exit...' ; read\"";
|
on-click = ''
|
||||||
|
alacritty -e bash -c "yay ; echo '
|
||||||
|
Done, press any key to exit...' ; read"'';
|
||||||
interval = 60;
|
interval = 60;
|
||||||
format = "{} ";
|
format = "{} ";
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,7 +17,8 @@
|
||||||
BROWSER = "firefox";
|
BROWSER = "firefox";
|
||||||
GPULAB_CERT = "${config.xdg.dataHome}/gpulab.pem";
|
GPULAB_CERT = "${config.xdg.dataHome}/gpulab.pem";
|
||||||
GPULAB_DEV = "False";
|
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";
|
ARCHFLAGS = "-arch x86_64";
|
||||||
TERM = "screen-256color";
|
TERM = "screen-256color";
|
||||||
PYTHONDONTWRITEBYTECODE = "1";
|
PYTHONDONTWRITEBYTECODE = "1";
|
||||||
|
@ -28,9 +29,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
};
|
};
|
||||||
programs.fzf = {
|
programs.fzf = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
@ -62,17 +61,22 @@
|
||||||
|
|
||||||
ll = "ls -lhat";
|
ll = "ls -lhat";
|
||||||
ls = "ls --color=auto";
|
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";
|
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";
|
python = "python3";
|
||||||
v = "nvim -c ':lua require(\"oil\").open()' && cd \"\$(cat /tmp/oil_dir 2> /dev/null || pwd)\"";
|
v = ''
|
||||||
cpr = "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1";
|
nvim -c ':lua require("oil").open()' && cd "$(cat /tmp/oil_dir 2> /dev/null || pwd)"'';
|
||||||
mvr = "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1 --remove-source-files";
|
cpr =
|
||||||
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'";
|
"rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1";
|
||||||
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'";
|
mvr =
|
||||||
push = "git add -A && git commit -m \"`date`\" && git push";
|
"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";
|
reset = "tput reset";
|
||||||
};
|
};
|
||||||
history.size = 10000000;
|
history.size = 10000000;
|
||||||
|
|
|
@ -1,64 +1,59 @@
|
||||||
{inputs, pkgs, ...}:
|
{ inputs, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.pcscd.enable = true;
|
services.pcscd.enable = true;
|
||||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||||
services.logind.extraConfig = ''
|
services.logind.extraConfig = ''
|
||||||
# don’t shutdown when power button is short-pressed
|
# don’t shutdown when power button is short-pressed
|
||||||
HandlePowerKey=suspend
|
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
|
networking.wg-quick.interfaces = {
|
||||||
programs.dconf.enable = true;
|
wg0 = {
|
||||||
services.gnome.evolution-data-server.enable = true;
|
address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ];
|
||||||
services.gnome.gnome-online-accounts.enable = true;
|
dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
|
||||||
services.gnome.gnome-keyring.enable = true;
|
privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key";
|
||||||
environment.systemPackages = with pkgs; [
|
listenPort = 51820;
|
||||||
wireguard-tools
|
peers = [{
|
||||||
];
|
publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
|
||||||
# Add the server using gnome-online-accounts:
|
allowedIPs = [ "10.0.0.1/8" ];
|
||||||
# nix-shell -p gnome.gnome-control-center --run "gnome-control-center"
|
endpoint = "192.168.1.1:13231";
|
||||||
# Just add the main webdav server and gnome-calendar will automatically pick up all available calendars.
|
}];
|
||||||
|
};
|
||||||
networking.wg-quick.interfaces = {
|
};
|
||||||
wg0 = {
|
fileSystems."/home/server" = {
|
||||||
address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ];
|
device = "192.168.1.2:/home/server";
|
||||||
dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
|
fsType = "nfs";
|
||||||
privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key";
|
options = [ "x-systemd.automount" "noauto" ];
|
||||||
listenPort = 51820;
|
};
|
||||||
peers = [
|
fileSystems."/home/user/Workspace" = {
|
||||||
{
|
device = "192.168.1.2:/home/server/Workspace";
|
||||||
publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
|
fsType = "nfs";
|
||||||
allowedIPs = [ "10.0.0.1/8" ];
|
options = [ "x-systemd.automount" "noauto" ];
|
||||||
endpoint = "192.168.1.1:13231";
|
};
|
||||||
}
|
fileSystems."/home/user/Documents" = {
|
||||||
];
|
device = "192.168.1.2:/home/server/Storage/Thomas/Documents";
|
||||||
};
|
fsType = "nfs";
|
||||||
};
|
options = [ "x-systemd.automount" "noauto" ];
|
||||||
fileSystems."/home/server" = {
|
};
|
||||||
device = "192.168.1.2:/home/server";
|
fileSystems."/home/user/Pictures" = {
|
||||||
fsType = "nfs";
|
device = "192.168.1.2:/home/server/Storage/Thomas/Pictures";
|
||||||
options = [ "x-systemd.automount" "noauto" ];
|
fsType = "nfs";
|
||||||
};
|
options = [ "x-systemd.automount" "noauto" ];
|
||||||
fileSystems."/home/user/Workspace" = {
|
};
|
||||||
device = "192.168.1.2:/home/server/Workspace";
|
fileSystems."/home/user/Videos" = {
|
||||||
fsType = "nfs";
|
device = "192.168.1.2:/home/server/Storage/Thomas/Videos";
|
||||||
options = [ "x-systemd.automount" "noauto" ];
|
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" ];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,25 +4,24 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
[ (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.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/feef066a-9abf-418d-a39e-603c406a72ff";
|
device = "/dev/disk/by-uuid/feef066a-9abf-418d-a39e-603c406a72ff";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/0D9B-B227";
|
device = "/dev/disk/by-uuid/0D9B-B227";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
@ -35,5 +34,6 @@
|
||||||
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
{
|
{ }
|
||||||
}
|
|
||||||
|
|
|
@ -4,28 +4,24 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
[
|
|
||||||
(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.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{
|
device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff";
|
||||||
device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff";
|
fsType = "ext4";
|
||||||
fsType = "ext4";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{
|
device = "/dev/disk/by-uuid/9F3C-9F3B";
|
||||||
device = "/dev/disk/by-uuid/9F3C-9F3B";
|
fsType = "vfat";
|
||||||
fsType = "vfat";
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
};
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue