Switch to nixfmt

This commit is contained in:
Filippo Berto 2023-01-19 19:53:17 +01:00
parent 44794e2c3d
commit 5b974a203b
Signed by: bertof
GPG key ID: 9DBF7E6A1D2CE9ED
63 changed files with 990 additions and 946 deletions

View file

@ -13,7 +13,10 @@ with lib; {
}; };
}; };
console = { font = "Lat2-Terminus16"; keyMap = "it"; }; console = {
font = "Lat2-Terminus16";
keyMap = "it";
};
environment = { environment = {
pathsToLink = [ "/share/zsh" ]; pathsToLink = [ "/share/zsh" ];
@ -23,8 +26,14 @@ with lib; {
i18n.defaultLocale = "it_IT.UTF-8"; i18n.defaultLocale = "it_IT.UTF-8";
programs = { programs = {
gnupg.agent = { enable = true; enableSSHSupport = true; }; gnupg.agent = {
zsh = { enable = true; syntaxHighlighting.enable = true; }; enable = true;
enableSSHSupport = true;
};
zsh = {
enable = true;
syntaxHighlighting.enable = true;
};
}; };
networking.hostName = "baldur"; networking.hostName = "baldur";
@ -48,33 +57,61 @@ with lib; {
ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service";
}; };
}; };
fail2ban = { enable = true; bantime-increment.enable = true; }; fail2ban = {
enable = true;
bantime-increment.enable = true;
};
nginx = { nginx = {
enable = true; enable = true;
recommendedProxySettings = true; recommendedProxySettings = true;
recommendedOptimisation = true; recommendedOptimisation = true;
recommendedGzipSettings = true; recommendedGzipSettings = true;
recommendedTlsSettings = true; recommendedTlsSettings = true;
virtualHosts = virtualHosts = let
let ssl = {
ssl = { enableACME = true; forceSSL = true; }; enableACME = true;
forceSSL = true;
};
loki = "172.23.254.55"; loki = "172.23.254.55";
in in {
{ "unimi.bertof.net" = ssl // {
"unimi.bertof.net" = ssl // { locations."/".extraConfig = "rewrite ^/(.*)$ https://homes.di.unimi.it/berto/$1 redirect ;"; }; locations."/".extraConfig =
"rewrite ^/(.*)$ https://homes.di.unimi.it/berto/$1 redirect ;";
};
"home-assistant.bertof.net" = ssl // { "home-assistant.bertof.net" = ssl // {
locations."/" = { proxyPass = "http://${loki}:8123/"; proxyWebsockets = true; }; locations."/" = {
proxyPass = "http://${loki}:8123/";
proxyWebsockets = true;
};
extraConfig = '' extraConfig = ''
proxy_pass_header Authorization; proxy_pass_header Authorization;
proxy_buffering off; proxy_buffering off;
''; '';
}; };
"radarr.bertof.net" = ssl // { locations."/" = { proxyPass = "http://${loki}:7878/"; proxyWebsockets = true; }; }; "radarr.bertof.net" = ssl // {
"sonarr.bertof.net" = ssl // { locations."/" = { proxyPass = "http://${loki}:8989/"; proxyWebsockets = true; }; }; locations."/" = {
"jellyfin.bertof.net" = ssl // { locations."/" = { proxyPass = "http://${loki}:8096/"; proxyWebsockets = true; }; }; proxyPass = "http://${loki}:7878/";
proxyWebsockets = true;
}; };
}; };
openssh = { enable = true; openFirewall = true; }; "sonarr.bertof.net" = ssl // {
locations."/" = {
proxyPass = "http://${loki}:8989/";
proxyWebsockets = true;
};
};
"jellyfin.bertof.net" = ssl // {
locations."/" = {
proxyPass = "http://${loki}:8096/";
proxyWebsockets = true;
};
};
};
};
openssh = {
enable = true;
openFirewall = true;
};
}; };
security.acme = { security.acme = {

View file

@ -1,18 +1,15 @@
{ modulesPath, ... }: { modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
[
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "virtio_blk" ]; boot.initrd.availableKernelModules =
[ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "virtio_blk" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{
device = "/dev/disk/by-uuid/7fa05ac4-8e10-4994-bb7d-4be88e4a6696"; device = "/dev/disk/by-uuid/7fa05ac4-8e10-4994-bb7d-4be88e4a6696";
fsType = "ext4"; fsType = "ext4";
}; };

View file

@ -5,9 +5,7 @@
layout = "it"; layout = "it";
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" "grp:menu_toggle" ]; options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" "grp:menu_toggle" ];
}; };
packages = with pkgs; [ packages = with pkgs; [ nix-prefetch-scripts ];
nix-prefetch-scripts
];
}; };
imports = [ imports = [
../hm_modules/__basic.nix ../hm_modules/__basic.nix

View file

@ -1,4 +1,5 @@
{ writeShellScriptBin, lib, xclip, coreutils, terminal-command ? "kitty sh -c", editor-command ? "hx" }: { writeShellScriptBin, lib, xclip, coreutils, terminal-command ? "kitty sh -c"
, editor-command ? "hx" }:
# 64 │ function clipcopy() { xclip -in -selection clipboard < "${1:-/dev/stdin}"; } # 64 │ function clipcopy() { xclip -in -selection clipboard < "${1:-/dev/stdin}"; }
# 65 │ function clippaste() { xclip -out -selection clipboard; } clip # 65 │ function clippaste() { xclip -out -selection clipboard; } clip
writeShellScriptBin "clipedit" '' writeShellScriptBin "clipedit" ''

View file

@ -8,5 +8,4 @@ let
update-background = callPackage ./update-background { }; update-background = callPackage ./update-background { };
vital-synth = callPackage ./vital-synth { }; vital-synth = callPackage ./vital-synth { };
}; };
in in self
self

View file

@ -1,15 +1,7 @@
{ lib { lib, rice, roboto, i3lock-color, writeScriptBin, font ? {
, rice
, roboto
, i3lock-color
, writeScriptBin
, font ? {
package = roboto; package = roboto;
name = "Roboto"; name = "Roboto";
} }, palette ? rice.palette.palette { }, ... }:
, palette ? rice.palette.palette { }
, ...
}:
let strPalette = lib.nix-rice.palette.toRGBAHex palette; let strPalette = lib.nix-rice.palette.toRGBAHex palette;
in writeScriptBin "lockscreen" '' in writeScriptBin "lockscreen" ''
# Using font package ${font.package} # Using font package ${font.package}

View file

@ -1,17 +1,10 @@
{ feh { feh, glib, findutils, gnugrep, coreutils, writeScriptBin
, glib , backgrounds_directory ? "$HOME/Immagini/Sfondi" }:
, findutils
, gnugrep
, coreutils
, writeScriptBin
, backgrounds_directory ? "$HOME/Immagini/Sfondi"
}:
let let
find = "${findutils}/bin/find"; find = "${findutils}/bin/find";
grep = "${gnugrep}/bin/grep"; grep = "${gnugrep}/bin/grep";
shuf = "${coreutils}/bin/shuf"; shuf = "${coreutils}/bin/shuf";
in in writeScriptBin "update-background" ''
writeScriptBin "update-background" ''
#!/bin/sh #!/bin/sh
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then
image=`${find} ${backgrounds_directory} -type f | ${grep} -v "/\." | ${shuf} -n 1` image=`${find} ${backgrounds_directory} -type f | ${grep} -v "/\." | ${shuf} -n 1`

165
flake.nix
View file

@ -4,32 +4,48 @@
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/release-22.11"; nixpkgs.url = "github:NixOS/nixpkgs/release-22.11";
nixpkgs-u.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-u.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs = { nixpkgs.follows = "nixpkgs"; utils.follows = "flake-utils"; }; }; home-manager = {
url = "github:nix-community/home-manager/release-22.11";
agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; inputs = {
deploy-rs = { url = "github:serokell/deploy-rs"; inputs = { nixpkgs.follows = "nixpkgs"; }; }; nixpkgs.follows = "nixpkgs";
flake-utils.url = "github:numtide/flake-utils"; utils.follows = "flake-utils";
nixos-generators = { url = "github:nix-community/nixos-generators"; inputs = { nixpkgs.follows = "nixpkgs"; }; }; };
nixos-hardware.url = "github:NixOS/nixos-hardware";
nix-rice = { url = "github:bertof/nix-rice/v0.3.1"; };
pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; };
tex2nix = { url = "github:Mic92/tex2nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; };
}; };
outputs = agenix = {
{ self url = "github:ryantm/agenix";
, nixpkgs inputs.nixpkgs.follows = "nixpkgs";
, nixpkgs-u };
, home-manager deploy-rs = {
, agenix url = "github:serokell/deploy-rs";
, deploy-rs inputs = { nixpkgs.follows = "nixpkgs"; };
, flake-utils };
, nixos-generators flake-utils.url = "github:numtide/flake-utils";
, nixos-hardware nixos-generators = {
, nix-rice url = "github:nix-community/nixos-generators";
, pre-commit-hooks inputs = { nixpkgs.follows = "nixpkgs"; };
, tex2nix };
}: nixos-hardware.url = "github:NixOS/nixos-hardware";
nix-rice = { url = "github:bertof/nix-rice/v0.3.1"; };
pre-commit-hooks = {
url = "github:cachix/pre-commit-hooks.nix";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
tex2nix = {
url = "github:Mic92/tex2nix";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
};
outputs = { self, nixpkgs, nixpkgs-u, home-manager, agenix, deploy-rs
, flake-utils, nixos-generators, nixos-hardware, nix-rice, pre-commit-hooks
, tex2nix }:
let let
config = { config = {
allowUnfree = true; allowUnfree = true;
@ -43,8 +59,14 @@
overlays = [ overlays = [
# Combine stable and unstable packages # Combine stable and unstable packages
(self: _: { (self: _: {
stable = import nixpkgs { inherit config overlays; inherit (self) system; }; stable = import nixpkgs {
unstable = import nixpkgs-u { inherit config overlays; inherit (self) system; }; inherit config overlays;
inherit (self) system;
};
unstable = import nixpkgs-u {
inherit config overlays;
inherit (self) system;
};
inherit (tex2nix.packages.${self.system}) tex2nix; inherit (tex2nix.packages.${self.system}) tex2nix;
}) })
@ -62,25 +84,27 @@
palette = self.rice.colorPalette; palette = self.rice.colorPalette;
font = self.rice.font.normal; font = self.rice.font.normal;
}; };
sddm-theme-clairvoyance = self.callPackage ./custom/sddm-theme-clairvoyance { sddm-theme-clairvoyance =
self.callPackage ./custom/sddm-theme-clairvoyance {
wallpaper = ./wallpapers/comfy_waves.jpg; wallpaper = ./wallpapers/comfy_waves.jpg;
}; };
}) })
]; ];
basic = with flake-utils.lib; eachDefaultSystem (system: basic = with flake-utils.lib;
let eachDefaultSystem (system:
pkgs = import nixpkgs { inherit system config overlays; }; let pkgs = import nixpkgs { inherit system config overlays; };
in in {
{ formatter = pkgs.writeShellScriptBin "formatter" ''
formatter = pkgs.nixpkgs-fmt; ${pkgs.findutils}/bin/find . -name '*.nix' -exec ${pkgs.nixfmt}/bin/nixfmt {} \+
'';
checks = { checks = {
pre-commit-check = pre-commit-hooks.lib.${system}.run { pre-commit-check = pre-commit-hooks.lib.${system}.run {
src = ./.; src = ./.;
hooks = { hooks = {
deadnix.enable = true; deadnix.enable = true;
nixpkgs-fmt.enable = true; nixfmt.enable = true;
nix-linter.enable = true; nix-linter.enable = true;
statix.enable = true; statix.enable = true;
}; };
@ -103,8 +127,20 @@
nix = { nix = {
extraOptions = "experimental-features = nix-command flakes"; extraOptions = "experimental-features = nix-command flakes";
registry = { registry = {
stable = { from = { id = "stable"; type = "indirect"; }; flake = nixpkgs; }; stable = {
unstable = { from = { id = "unstable"; type = "indirect"; }; flake = nixpkgs-u; }; from = {
id = "stable";
type = "indirect";
};
flake = nixpkgs;
};
unstable = {
from = {
id = "unstable";
type = "indirect";
};
flake = nixpkgs-u;
};
}; };
}; };
services.fstrim.enable = true; services.fstrim.enable = true;
@ -112,7 +148,12 @@
# Home manager configuration # Home manager configuration
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ home-manager = { useGlobalPkgs = true; useUserPackages = true; }; } {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
};
}
agenix.nixosModule agenix.nixosModule
{ {
# age.secrets.oauth_proxy_client_credentials.file = ./secrets/oauth_proxy_client_credentials.age; # age.secrets.oauth_proxy_client_credentials.file = ./secrets/oauth_proxy_client_credentials.age;
@ -138,8 +179,20 @@
nix = { nix = {
extraOptions = "experimental-features = nix-command flakes"; extraOptions = "experimental-features = nix-command flakes";
registry = { registry = {
stable = { from = { id = "stable"; type = "indirect"; }; flake = nixpkgs; }; stable = {
unstable = { from = { id = "unstable"; type = "indirect"; }; flake = nixpkgs-u; }; from = {
id = "stable";
type = "indirect";
};
flake = nixpkgs;
};
unstable = {
from = {
id = "unstable";
type = "indirect";
};
flake = nixpkgs-u;
};
}; };
}; };
} }
@ -175,8 +228,7 @@
}; };
odinConfig = { odinConfig = {
nixosConfigurations = nixosConfigurations = let
let
odinCommonModules = [ odinCommonModules = [
nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-cpu-intel
nixos-hardware.nixosModules.common-pc-laptop nixos-hardware.nixosModules.common-pc-laptop
@ -192,8 +244,7 @@
{ home-manager.users.bertof = import ./odin/hm.nix; } { home-manager.users.bertof = import ./odin/hm.nix; }
]; ];
in in rec {
rec {
odin-nvidia = nixpkgs.lib.nixosSystem { odin-nvidia = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = commonModules ++ odinCommonModules ++ [ modules = commonModules ++ odinCommonModules ++ [
@ -204,9 +255,8 @@
odin-intel = nixpkgs.lib.nixosSystem { odin-intel = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = commonModules ++ odinCommonModules ++ [ modules = commonModules ++ odinCommonModules
./odin/configuration-intel.nix ++ [ ./odin/configuration-intel.nix ];
];
}; };
odin = odin-intel; odin = odin-intel;
@ -261,7 +311,9 @@
deployments = { deployments = {
# Deploy-rs checks # Deploy-rs checks
checks = builtins.mapAttrs (_system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; checks = builtins.mapAttrs
(_system: deployLib: deployLib.deployChecks self.deploy)
deploy-rs.lib;
# Map nodes to Deploy-rs deployments # Map nodes to Deploy-rs deployments
deploy.nodes = { deploy.nodes = {
@ -269,7 +321,8 @@
hostname = "thor.local"; hostname = "thor.local";
profiles.system = { profiles.system = {
user = "root"; user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.thor; path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.thor;
}; };
}; };
@ -277,7 +330,8 @@
hostname = "odin.local"; hostname = "odin.local";
profiles.system = { profiles.system = {
user = "root"; user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.odin; path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.odin;
}; };
}; };
@ -285,7 +339,8 @@
hostname = "loki.local"; hostname = "loki.local";
profiles.system = { profiles.system = {
user = "root"; user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.loki; path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.loki;
}; };
}; };
@ -293,14 +348,15 @@
hostname = "baldur.bertof.net"; hostname = "baldur.bertof.net";
profiles.system = { profiles.system = {
user = "root"; user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.baldur; path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.baldur;
}; };
}; };
}; };
}; };
images = with flake-utils.lib; eachSystem [ system.x86_64-linux system.aarch64-linux ] (system: images = with flake-utils.lib;
{ eachSystem [ system.x86_64-linux system.aarch64-linux ] (system: {
packages = { packages = {
# Installer ISO # Installer ISO
install-iso = nixos-generators.nixosGenerate { install-iso = nixos-generators.nixosGenerate {
@ -318,8 +374,7 @@
}; };
}); });
in in builtins.foldl' nixpkgs.lib.recursiveUpdate { } [
builtins.foldl' nixpkgs.lib.recursiveUpdate { } [
basic basic
thorConfig thorConfig
odinConfig odinConfig

View file

@ -2,7 +2,10 @@
with lib; { with lib; {
boot = { boot = {
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_latest;
loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
}; };
console = { console = {

View file

@ -21,8 +21,7 @@ let
}; };
}; };
}; };
in in {
{
# Include fonts packages # Include fonts packages
home.packages = [ pkgs.rice.font.monospace.package ]; home.packages = [ pkgs.rice.font.monospace.package ];
programs.alacritty = { programs.alacritty = {

View file

@ -1,16 +1,14 @@
{ {
programs.autorandr = { programs.autorandr = {
enable = true; enable = true;
profiles = profiles = let
let
dell-laptop = { dell-laptop = {
dpi = 96; dpi = 96;
fingerprint = fingerprint =
"00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5"; "00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5";
mode = "1920x1080"; mode = "1920x1080";
}; };
in in {
{
odin-nvidia = { odin-nvidia = {
fingerprint = { "eDP-1-1" = dell-laptop.fingerprint; }; fingerprint = { "eDP-1-1" = dell-laptop.fingerprint; };
config = { config = {

View file

@ -2,9 +2,7 @@
programs.bash = { programs.bash = {
enable = true; enable = true;
enableVteIntegration = true; enableVteIntegration = true;
shellAliases = { shellAliases = { ".." = "cd .."; };
".." = "cd ..";
};
bashrcExtra = '' bashrcExtra = ''
source $HOME/.profile source $HOME/.profile

View file

@ -1,3 +1 @@
{ pkgs, ... }: { { pkgs, ... }: { home.packages = with pkgs; [ calibre mangal ]; }
home.packages = with pkgs;[ calibre mangal ];
}

View file

@ -1,3 +1 @@
{ pkgs, ... }: { { pkgs, ... }: { home.packages = with pkgs; [ blender ]; }
home.packages = with pkgs; [ blender ];
}

View file

@ -13,8 +13,7 @@ let
systemctl --user restart kdeconnect-indicator # Restart polybar systemctl --user restart kdeconnect-indicator # Restart polybar
''; '';
strPalette = palette.toRGBHex pkgs.rice.colorPalette; strPalette = palette.toRGBHex pkgs.rice.colorPalette;
in in {
{
xsession.windowManager.bspwm = { xsession.windowManager.bspwm = {
enable = true; enable = true;
settings = { settings = {

View file

@ -2,8 +2,7 @@
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette; strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette;
fmtString = str: "'${str}'"; fmtString = str: "'${str}'";
in in {
{
home.packages = [ pkgs.cava ]; home.packages = [ pkgs.cava ];
xdg.configFile."cava/config".text = lib.generators.toINI { } { xdg.configFile."cava/config".text = lib.generators.toINI { } {

View file

@ -1,5 +1,6 @@
{ pkgs, config, lib, ... }: { { pkgs, config, lib, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs;
[
] ++ lib.optionals config.programs.helix.enable [ ] ++ lib.optionals config.programs.helix.enable [
clang-tools # C, CPP clang-tools # C, CPP

View file

@ -1,5 +1,6 @@
{ config, pkgs, lib, ... }: { { config, pkgs, lib, ... }: {
home.packages = with pkgs; lib.optionals config.programs.helix.enable [ home.packages = with pkgs;
lib.optionals config.programs.helix.enable [
nodePackages.vscode-langservers-extracted # CSS, HTML, JSON, SCSS nodePackages.vscode-langservers-extracted # CSS, HTML, JSON, SCSS
yaml-language-server # YAML yaml-language-server # YAML
taplo-cli # TOML taplo-cli # TOML

View file

@ -1,10 +1,8 @@
{ pkgs, config, lib, ... }: { { pkgs, config, lib, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs;
docker-compose [ docker-compose docker-machine ]
docker-machine ++ lib.optionals config.programs.helix.enable
] ++ lib.optionals config.programs.helix.enable [ [ nodePackages.dockerfile-language-server-nodejs ];
nodePackages.dockerfile-language-server-nodejs
];
home.shellAliases = { home.shellAliases = {
"dkcd" = "docker-compose down"; "dkcd" = "docker-compose down";
"dkc" = "docker-compose"; "dkc" = "docker-compose";

View file

@ -4,9 +4,7 @@
goPath = ".go"; goPath = ".go";
}; };
home.packages = with pkgs; lib.optionals config.programs.helix.enable [ home.packages = with pkgs;
gopls lib.optionals config.programs.helix.enable [ gopls ]
] ++ (lib.optionals config.programs.kakoune.enable [ ++ (lib.optionals config.programs.kakoune.enable [ gopls ]);
gopls
]);
} }

View file

@ -1,10 +1,10 @@
{ pkgs, lib, config, ... }: { { pkgs, lib, config, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs;
[
] ++ lib.optionals config.programs.helix.enable [ ] ++ lib.optionals config.programs.helix.enable
nodePackages.typescript-language-server [ nodePackages.typescript-language-server ]
] ++ lib.optionals config.programs.kakoune.enable [ ++ lib.optionals config.programs.kakoune.enable
nodePackages.typescript-language-server [ nodePackages.typescript-language-server ];
];
} }

View file

@ -1,7 +1 @@
{ pkgs, ... }: { { pkgs, ... }: { home.packages = with pkgs; [ kubectl kubernetes-helm lens ]; }
home.packages = with pkgs; [
kubectl
kubernetes-helm
lens
];
}

View file

@ -1,11 +1,8 @@
{ pkgs, config, lib, ... }: { { pkgs, config, lib, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs;
bibtool [ bibtool tex2nix texlive.combined.scheme-medium ]
tex2nix ++ lib.optionals config.programs.helix.enable [ texlab ]
texlive.combined.scheme-medium ++ lib.optionals config.programs.kakoune.enable [
] ++ lib.optionals config.programs.helix.enable [
texlab
] ++ lib.optionals config.programs.kakoune.enable [
texlab texlab
aspell aspell
aspellDicts.en aspellDicts.en

View file

@ -1,12 +1,6 @@
{ pkgs, config, lib, ... }: { { pkgs, config, lib, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs;
nixpkgs-fmt [ nixfmt nix-prefetch-scripts nix-review nix-tree ]
nix-prefetch-scripts ++ lib.optionals config.programs.helix.enable [ nil ]
nix-review ++ lib.optionals config.programs.kakoune.enable [ rnix-lsp ];
nix-tree
] ++ lib.optionals config.programs.helix.enable [
nil
] ++ lib.optionals config.programs.kakoune.enable [
rnix-lsp
];
} }

View file

@ -1,7 +1,6 @@
{ pkgs, lib, config, ... }: { { pkgs, lib, config, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs;
black [ black ] ++ lib.optionals config.programs.helix.enable [
] ++ lib.optionals config.programs.helix.enable [
python3Packages.python-lsp-server # PYLSP python3Packages.python-lsp-server # PYLSP
# python3Packages.pyls-mypy # MYPY # NOT UPDATED # python3Packages.pyls-mypy # MYPY # NOT UPDATED
python3Packages.pyls-flake8 # FLAKE8 python3Packages.pyls-flake8 # FLAKE8

View file

@ -1,5 +1,6 @@
{ pkgs, lib, config, ... }: { { pkgs, lib, config, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs;
[
bacon bacon
cargo cargo
# cargo-about # cargo-about
@ -28,10 +29,6 @@
cargo-workspaces cargo-workspaces
clippy clippy
rustfmt rustfmt
] ++ lib.optionals config.programs.helix.enable [ ] ++ lib.optionals config.programs.helix.enable [ rust-analyzer ]
rust-analyzer ++ lib.optionals config.programs.kakoune.enable [ rust-analyzer ];
] ++
lib.optionals config.programs.kakoune.enable [
rust-analyzer
];
} }

View file

@ -1,8 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
with pkgs.lib.nix-rice; with pkgs.lib.nix-rice;
let strPalette = palette.toRGBHex pkgs.rice.colorPalette; let strPalette = palette.toRGBHex pkgs.rice.colorPalette;
in in {
{
home.packages = with pkgs; [ dunst rice.font.normal.package ]; home.packages = with pkgs; [ dunst rice.font.normal.package ];
services.dunst = { services.dunst = {
enable = true; enable = true;

View file

@ -1,10 +1,8 @@
{ pkgs, ... }: { pkgs, ... }:
let let
package = with pkgs.dwarf-fortress-packages; dwarf-fortress-full.override { package = with pkgs.dwarf-fortress-packages;
dwarf-fortress-full.override {
theme = themes.ironhand; theme = themes.ironhand;
enableFPS = true; enableFPS = true;
}; };
in in { home.packages = [ package ]; }
{
home.packages = [ package ];
}

View file

@ -87,8 +87,7 @@ let
"gup" = "git pull --rebase"; "gup" = "git pull --rebase";
"gupv" = "git pull --rebase -v"; "gupv" = "git pull --rebase -v";
}; };
in in {
{
programs.git = { programs.git = {
enable = true; enable = true;
userName = "Filippo Berto"; userName = "Filippo Berto";

View file

@ -28,7 +28,4 @@ let
user-themes user-themes
# vitals # vitals
]; ];
in in { home.packages = [ pkgs.gnome.gnome-tweaks ] ++ gnomeExtensions; }
{
home.packages = [ pkgs.gnome.gnome-tweaks ] ++ gnomeExtensions;
}

View file

@ -1,7 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
let thumbnailer = "${pkgs.libheif.bin}/bin/heif-thumbnailer"; in let thumbnailer = "${pkgs.libheif.bin}/bin/heif-thumbnailer";
{ in {
# home.packages = [ # home.packages = [
# pkgs.libheif.bin # pkgs.libheif.bin
# ]; # ];

View file

@ -26,11 +26,13 @@ let
"text/x-c++" "text/x-c++"
]; ];
}; };
in in {
{
programs.bash.shellAliases = { x = "hx"; }; programs.bash.shellAliases = { x = "hx"; };
programs.zsh.shellAliases = { x = "hx"; }; programs.zsh.shellAliases = { x = "hx"; };
home.sessionVariables = { EDITOR = "hx"; VISUAL = "hx"; }; home.sessionVariables = {
EDITOR = "hx";
VISUAL = "hx";
};
home.packages = with pkgs; [ home.packages = with pkgs; [
nil # Nix language server nil # Nix language server
desktopItem desktopItem
@ -50,8 +52,7 @@ in
"C-A-S-r" = ":reload-all"; "C-A-S-r" = ":reload-all";
}; };
}; };
themes = themes = let
let
transparent = "none"; transparent = "none";
gray = "#665c54"; gray = "#665c54";
dark-gray = "#3c3836"; dark-gray = "#3c3836";
@ -64,8 +65,7 @@ in
blue = "#83a598"; blue = "#83a598";
magenta = "#d3869b"; magenta = "#d3869b";
cyan = "#8ec07c"; cyan = "#8ec07c";
in in {
{
base16 = { base16 = {
"ui.menu" = transparent; "ui.menu" = transparent;
"ui.menu.selected" = { modifiers = [ "reversed" ]; }; "ui.menu.selected" = { modifiers = [ "reversed" ]; };

View file

@ -61,8 +61,7 @@ let
}) })
]; ];
in in {
{
programs.bash.shellAliases = { k = "kak"; }; programs.bash.shellAliases = { k = "kak"; };
programs.zsh.shellAliases = { k = "kak"; }; programs.zsh.shellAliases = { k = "kak"; };
home.packages = packages; home.packages = packages;
@ -266,8 +265,8 @@ in
}; };
# THEME FILE # THEME FILE
xdg.configFile."kak/colors/nord.kak".text = xdg.configFile."kak/colors/nord.kak".text = themeBuilder
themeBuilder (pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette); (pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette);
xdg.configFile."kak-lsp/kak-lsp.toml".text = '' xdg.configFile."kak-lsp/kak-lsp.toml".text = ''
snippet_support = false snippet_support = false

View file

@ -1,3 +1,6 @@
{ {
services.kdeconnect = { enable = true; indicator = true; }; services.kdeconnect = {
enable = true;
indicator = true;
};
} }

View file

@ -2,28 +2,10 @@
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex { strPalette = pkgs.lib.nix-rice.palette.toRgbHex {
inherit (pkgs.rice.colorPalette) inherit (pkgs.rice.colorPalette)
background background foreground color0 color1 color2 color3 color4 color5 color6
foreground color7 color8 color9 color10 color11 color12 color13 color14 color15;
color0
color1
color2
color3
color4
color5
color6
color7
color8
color9
color10
color11
color12
color13
color14
color15
;
}; };
in in {
{
programs.kitty = { programs.kitty = {
enable = true; enable = true;
settings = { settings = {

View file

@ -17,8 +17,7 @@ let
${pkgs.pistol}/bin/pistol "$file" ${pkgs.pistol}/bin/pistol "$file"
''; '';
in in {
{
programs.lf = { programs.lf = {
enable = true; enable = true;
settings = { settings = {

View file

@ -2,8 +2,7 @@
let let
libinputGesturesCmd = "${pkgs.libinput-gestures}/bin/libinput-gestures"; libinputGesturesCmd = "${pkgs.libinput-gestures}/bin/libinput-gestures";
xdotool = "${pkgs.xdotool}/bin/xdotool"; xdotool = "${pkgs.xdotool}/bin/xdotool";
in in {
{
systemd.user.services."libinput-gestures" = { systemd.user.services."libinput-gestures" = {
Unit = { Unit = {
Description = "Touchpad gestures"; Description = "Touchpad gestures";

View file

@ -1,6 +1,7 @@
{ pkgs, ... }: { { pkgs, ... }: {
programs.password-store = { programs.password-store = {
package = pkgs.pass.withExtensions (ext: with ext; [ package = pkgs.pass.withExtensions (ext:
with ext; [
pass-audit pass-audit
pass-checkup pass-checkup
pass-import pass-import

View file

@ -26,8 +26,7 @@ let
playerStatus = playerStatus =
"${playerCtl} -f '{{emoji(status)}} {{title}} - {{artist}}' metadata | ${head} -c 50"; "${playerCtl} -f '{{emoji(status)}} {{title}} - {{artist}}' metadata | ${head} -c 50";
confirm_command = { cmd, title ? null, text ? null, image ? null }: confirm_command = { cmd, title ? null, text ? null, image ? null }:
lib.concatStringsSep " " lib.concatStringsSep " " [
[
"${pkgs.yad}/bin/yad --question --center --on-top --sticky --timeout=30 --timeout-indicator=bottom" "${pkgs.yad}/bin/yad --question --center --on-top --sticky --timeout=30 --timeout-indicator=bottom"
(if title == null then "" else ''--title "${title}"'') (if title == null then "" else ''--title "${title}"'')
(if image == null then "" else ''--image "${image}"'') (if image == null then "" else ''--image "${image}"'')
@ -43,8 +42,7 @@ let
''; '';
colors = with pkgs.lib.nix-rice; colors = with pkgs.lib.nix-rice;
let alpha = 255 * opacity; let alpha = 255 * opacity;
in in palette.toARGBHex rec {
palette.toARGBHex rec {
normal = { normal = {
foreground = color.darken 10 colorPalette.foreground; foreground = color.darken 10 colorPalette.foreground;
@ -111,8 +109,7 @@ let
}; };
ramp = [ "" "" "" "" "" "" ]; ramp = [ "" "" "" "" "" "" ];
in in {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
pkgs.rice.font.monospace.package pkgs.rice.font.monospace.package
# emojione # emojione
@ -140,7 +137,8 @@ in
"bar/primary" = recursiveUpdate commonBar { "bar/primary" = recursiveUpdate commonBar {
modules-left = "bspwm"; modules-left = "bspwm";
# modules-center = # modules-center =
modules-right = "player pulseaudio temperature cpu memory battery notifications powermenu date"; modules-right =
"player pulseaudio temperature cpu memory battery notifications powermenu date";
tray = { tray = {
position = "right"; position = "right";
padding = 1; padding = 1;
@ -150,7 +148,8 @@ in
"bar/secondary" = recursiveUpdate commonBar { "bar/secondary" = recursiveUpdate commonBar {
modules-left = "bspwm"; modules-left = "bspwm";
# modules-center = # modules-center =
modules-right = "player pulseaudio temperature cpu memory battery notifications powermenu date"; modules-right =
"player pulseaudio temperature cpu memory battery notifications powermenu date";
}; };
"module/battery" = { "module/battery" = {
@ -193,15 +192,13 @@ in
type = "internal/bspwm"; type = "internal/bspwm";
format = "<label-state>"; format = "<label-state>";
label = label = let
let
common = { common = {
padding = 1; padding = 1;
# separator = " "; # separator = " ";
text = "%name%"; text = "%name%";
}; };
in in {
{
focused = recursiveUpdate common colors.selected; focused = recursiveUpdate common colors.selected;
occupied = recursiveUpdate common colors.active; occupied = recursiveUpdate common colors.active;
urgent = recursiveUpdate (recursiveUpdate common colors.active) { urgent = recursiveUpdate (recursiveUpdate common colors.active) {
@ -303,8 +300,7 @@ in
open = recursiveUpdate colors.normal { text = ""; }; open = recursiveUpdate colors.normal { text = ""; };
close = recursiveUpdate colors.normal { text = ""; }; close = recursiveUpdate colors.normal { text = ""; };
}; };
menu = [ menu = [[
[
{ {
text = ""; text = "";
exec = confirm_command { exec = confirm_command {
@ -337,8 +333,7 @@ in
text = "Do you want to shutdown?"; text = "Do you want to shutdown?";
}; };
} }
] ]];
];
}; };
"module/notifications" = { "module/notifications" = {

View file

@ -13,8 +13,7 @@ let
VST_PATH = "$HOME/.vst:${userLibFolder}/vst:${systemLibFolder}/vst"; VST_PATH = "$HOME/.vst:${userLibFolder}/vst:${systemLibFolder}/vst";
VST3_PATH = "$HOME/.vst3:${userLibFolder}/vst3:${systemLibFolder}/vst3"; VST3_PATH = "$HOME/.vst3:${userLibFolder}/vst3:${systemLibFolder}/vst3";
}; };
in in {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
carla carla
rnnoise rnnoise

View file

@ -10,10 +10,10 @@
programs.rofi = { programs.rofi = {
enable = true; enable = true;
location = "center"; location = "center";
font = "${pkgs.rice.font.monospace.name} ${toString pkgs.rice.font.monospace.size}"; font = "${pkgs.rice.font.monospace.name} ${
plugins = with pkgs; [ toString pkgs.rice.font.monospace.size
rofi-calc }";
]; plugins = with pkgs; [ rofi-calc ];
extraConfig = { modi = "drun,run,ssh,window,calc"; }; extraConfig = { modi = "drun,run,ssh,window,calc"; };
terminal = "kitty"; terminal = "kitty";
theme = "onedark"; theme = "onedark";

View file

@ -11,8 +11,7 @@
bc # required by bsp-layout bc # required by bsp-layout
clipedit clipedit
]; ];
services.sxhkd = services.sxhkd = let
let
primaryTerminal = "kitty"; primaryTerminal = "kitty";
secondaryTerminal = "terminator"; secondaryTerminal = "terminator";
fileManager = "thunar"; fileManager = "thunar";
@ -37,13 +36,13 @@
level=`printf "%.0f" $(${xbacklight} -get)` level=`printf "%.0f" $(${xbacklight} -get)`
${notify} -r 2 -h "int:value:$level" "Luminosità $level" ${notify} -r 2 -h "int:value:$level" "Luminosità $level"
''; '';
in in {
{
enable = true; enable = true;
keybindings = { keybindings = {
"alt + Tab" = "rofi -show window"; "alt + Tab" = "rofi -show window";
"Print" = "gnome-screenshot"; "Print" = "gnome-screenshot";
"super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; "super + alt + {h,j,k,l}" =
"bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
"super + alt + m" = "lockscreen"; "super + alt + m" = "lockscreen";
"super + alt + p" = "autorandr -c"; "super + alt + p" = "autorandr -c";
"super + alt + shift + p" = "arandr"; "super + alt + shift + p" = "arandr";
@ -52,26 +51,33 @@
''; '';
"super + alt + o" = "${moveAllNodesToPrimary}"; "super + alt + o" = "${moveAllNodesToPrimary}";
"super + alt + r" = "${resetBspwm}"; "super + alt + r" = "${resetBspwm}";
"super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; "super + alt + shift + {h,j,k,l}" =
"bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}";
"super + bracket{left,right}" = "bspc desktop -f {prev,next}.local"; "super + bracket{left,right}" = "bspc desktop -f {prev,next}.local";
"super + b" = "${pkgs.update-background}/bin/update-background"; "super + b" = "${pkgs.update-background}/bin/update-background";
"super + ctrl + {1-9}" = "bspc node -o 0.{1-9}"; "super + ctrl + {1-9}" = "bspc node -o 0.{1-9}";
"super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}"; "super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}";
"super + ctrl + {m,x,y,z}" = "bspc node -g {marked,locked,sticky,private}"; "super + ctrl + {m,x,y,z}" =
"super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel"; "bspc node -g {marked,locked,sticky,private}";
"super + ctrl + shift + space" =
"bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel";
"super + ctrl + space" = "bspc node -p cancel"; "super + ctrl + space" = "bspc node -p cancel";
"super + e" = fileManager; "super + e" = fileManager;
"super + shift + p" = "clipedit"; "super + shift + p" = "clipedit";
"super + Escape" = "pkill -USR1 -x sxhkd"; "super + Escape" = "pkill -USR1 -x sxhkd";
"super + g" = "bspc node -s biggest"; "super + g" = "bspc node -s biggest";
"super + {grave,Tab}" = "bspc {node,desktop} -f last"; "super + {grave,Tab}" = "bspc {node,desktop} -f last";
"super + {h,j,k,l}" = "dir={west,south,north,east}; bspc node -f $dir || bspc monitor -f $dir"; "super + {h,j,k,l}" =
"dir={west,south,north,east}; bspc node -f $dir || bspc monitor -f $dir";
"super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}"; "super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}";
"super + m" = "bspc desktop -l next"; "super + m" = "bspc desktop -l next";
"super + n {_, + shift}" = "bsp-layout {next, previous}"; "super + n {_, + shift}" = "bsp-layout {next, previous}";
"super + {o,i}" = "bspc wm -h off;bspc node {older,newer} -f;bspc wm -h on"; "super + {o,i}" =
"super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}"; "bspc wm -h off;bspc node {older,newer} -f;bspc wm -h on";
"super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} 'focused:^{1-9,10}'"; "super + {p,b,comma,period}" =
"bspc node -f @{parent,brother,first,second}";
"super + {_,shift + }{1-9,0}" =
"bspc {desktop -f,node -d} 'focused:^{1-9,10}'";
"super + {_,shift + } c" = "bspc node -f {next,prev}.local"; "super + {_,shift + } c" = "bspc node -f {next,prev}.local";
"super + {_,shift + } @space" = "rofi -show {drun,run}"; "super + {_,shift + } @space" = "rofi -show {drun,run}";
"super + shift + ctrl + d" = "rofi -show ssh"; "super + shift + ctrl + d" = "rofi -show ssh";
@ -79,14 +85,19 @@
"super + shift + {h,j,k,l}" = '' "super + shift + {h,j,k,l}" = ''
dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow
''; '';
"super + {_,shift + } Return" = "{${primaryTerminal} , ${secondaryTerminal}}"; "super + {_,shift + } Return" =
"{${primaryTerminal} , ${secondaryTerminal}}";
"super + {_,shift + } w" = "bspc node -{c,k}"; "super + {_,shift + } w" = "bspc node -{c,k}";
"super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}"; "super + {t,shift + t,s,f}" =
"bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
# "super + y" = "bspc node newest.marked.local -n newest.!automatic.local"; # "super + y" = "bspc node newest.marked.local -n newest.!automatic.local";
"XF86Audio{LowerVolume,Mute,RaiseVolume}" = "${pamixer} {-d 2 -u,-t,-i 2 -u} && ${notifyVolume}"; "XF86Audio{LowerVolume,Mute,RaiseVolume}" =
"${pamixer} {-d 2 -u,-t,-i 2 -u} && ${notifyVolume}";
"XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}"; "XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}";
"super + alt + {Right,Down,Left}" = "${playerctl} {next,play-pause,previous}"; "super + alt + {Right,Down,Left}" =
"XF86MonBrightness{Up,Down}" = " ${xbacklight} -{inc,dec} 10 && ${notifyBrightness}"; "${playerctl} {next,play-pause,previous}";
"XF86MonBrightness{Up,Down}" =
" ${xbacklight} -{inc,dec} 10 && ${notifyBrightness}";
}; };
}; };
} }

View file

@ -1 +1,6 @@
{ services.syncthing = { enable = true; extraOptions = [ "--gui-address=http://0.0.0.0:8384" ]; }; } {
services.syncthing = {
enable = true;
extraOptions = [ "--gui-address=http://0.0.0.0:8384" ];
};
}

View file

@ -1,2 +1,7 @@
{ services.syncthing = { enable = true; extraOptions = [ "--gui-address=http://0.0.0.0:8385" ]; }; } {
services.syncthing = {
enable = true;
extraOptions = [ "--gui-address=http://0.0.0.0:8385" ];
};
}

View file

@ -26,8 +26,7 @@ let
bright.cyan bright.cyan
bright.white bright.white
]; ];
in in {
{
home.packages = with pkgs; [ terminator ]; home.packages = with pkgs; [ terminator ];
xdg.configFile."terminator/config".text = with strPalette; '' xdg.configFile."terminator/config".text = with strPalette; ''

View file

@ -3,20 +3,25 @@ with pkgs.lib.nix-rice;
let let
strPalette = palette.toRGBHex pkgs.rice.colorPalette; strPalette = palette.toRGBHex pkgs.rice.colorPalette;
font = pkgs.rice.font.normal; font = pkgs.rice.font.normal;
in in {
{
services.twmn = { services.twmn = {
enable = true; enable = true;
text = { text = {
color = strPalette.primary.foreground; color = strPalette.primary.foreground;
font = { inherit (font) package size; family = font.name; }; font = {
inherit (font) package size;
family = font.name;
};
}; };
window = { window = {
animation.bounce.enable = false; animation.bounce.enable = false;
color = strPalette.primary.background; color = strPalette.primary.background;
height = 32; height = 32;
opacity = float.round (pkgs.rice.opacity * 100); opacity = float.round (pkgs.rice.opacity * 100);
offset = { x = -20; y = 50; }; offset = {
x = -20;
y = 50;
};
}; };
}; };
} }

View file

@ -63,17 +63,11 @@ let
categories = [ "AudioVideo" ]; categories = [ "AudioVideo" ];
} }
]; ];
webAppBuilder = webAppBuilder = { desktopName
{ desktopName , name ? builtins.replaceStrings [ " " ] [ "_" ] desktopName, link
, name ? builtins.replaceStrings [ " " ] [ "_" ] desktopName , icon ? lib.toLower name, comment ? null, categories ? [ "Network" ] }:
, link
, icon ? lib.toLower name
, comment ? null
, categories ? [ "Network" ]
}:
pkgs.makeDesktopItem { pkgs.makeDesktopItem {
inherit name icon desktopName comment categories; inherit name icon desktopName comment categories;
exec = cmd link; exec = cmd link;
}; };
in in { home.packages = map webAppBuilder links; }
{ home.packages = map webAppBuilder links; }

View file

@ -19,8 +19,7 @@ let
shutDownScreens = pkgs.writeShellScript "shutdown_screens" '' shutDownScreens = pkgs.writeShellScript "shutdown_screens" ''
${xsetCmd} dpms force off ${xsetCmd} dpms force off
''; '';
in in {
{
services.xidlehook = { services.xidlehook = {
enable = true; enable = true;
package = pkgs.writeScriptBin "xidlehook" '' package = pkgs.writeScriptBin "xidlehook" ''

View file

@ -4,9 +4,7 @@ let strPalette = palette.toRgbHex pkgs.rice.colorPalette;
in { in {
programs.zathura = { programs.zathura = {
enable = true; enable = true;
mappings = { mappings = { "<C-i>" = "recolor"; };
"<C-i>" = "recolor";
};
options = { options = {
completion-bg = strPalette.bright.black; completion-bg = strPalette.bright.black;
# default-bg = strPalette.normal.black; # default-bg = strPalette.normal.black;

View file

@ -96,11 +96,23 @@ with lib; {
}; };
gnome.gnome-keyring.enable = true; gnome.gnome-keyring.enable = true;
gvfs.enable = true; gvfs.enable = true;
jackett = { enable = true; openFirewall = true; group = "users"; }; jackett = {
jellyfin = { enable = true; package = pkgs.jellyfin; openFirewall = true; group = "users"; }; enable = true;
openFirewall = true;
group = "users";
};
jellyfin = {
enable = true;
package = pkgs.jellyfin;
openFirewall = true;
group = "users";
};
logind.lidSwitch = "ignore"; logind.lidSwitch = "ignore";
# node-red = { enable = true; openFirewall = true; withNpmAndGcc = true; }; # node-red = { enable = true; openFirewall = true; withNpmAndGcc = true; };
openssh = { enable = true; openFirewall = true; }; openssh = {
enable = true;
openFirewall = true;
};
# plex = { enable = true; openFirewall = true; group = "users"; }; # plex = { enable = true; openFirewall = true; group = "users"; };
power-profiles-daemon.enable = true; power-profiles-daemon.enable = true;
radarr = { radarr = {
@ -122,8 +134,7 @@ with lib; {
load printers = no load printers = no
smb encrypt = required smb encrypt = required
''; '';
shares = shares = let
let
common = { common = {
"public" = "no"; "public" = "no";
"writeable" = "yes"; "writeable" = "yes";
@ -134,8 +145,7 @@ with lib; {
"read only" = "no"; "read only" = "no";
"force group" = "users"; "force group" = "users";
}; };
in in {
{
bertof = recursiveUpdate common { bertof = recursiveUpdate common {
path = "/home/bertof/"; path = "/home/bertof/";
comment = "Bertof samba share"; comment = "Bertof samba share";
@ -224,11 +234,7 @@ with lib; {
}; };
tiziano = { tiziano = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ extraGroups = [ "audio" "input" "video" ];
"audio"
"input"
"video"
];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMExwtJFk6HjySrTZwJH67SOHC3hlL28NO4oe2GXsv6k" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMExwtJFk6HjySrTZwJH67SOHC3hlL28NO4oe2GXsv6k"
]; ];
@ -238,14 +244,12 @@ with lib; {
}; };
services.snapper = { services.snapper = {
configs = configs = let
let
commonExtraConfig = '' commonExtraConfig = ''
TIMELINE_CREATE=yes TIMELINE_CREATE=yes
TIMELINE_CLEANUP=yes TIMELINE_CLEANUP=yes
''; '';
in in {
{
bertof_raid0 = { bertof_raid0 = {
subvolume = "/home/bertof/raid0"; subvolume = "/home/bertof/raid0";
extraConfig = '' extraConfig = ''
@ -358,9 +362,7 @@ with lib; {
}]; }];
esphome = { }; esphome = { };
frontend = { }; frontend = { };
google_assistant = { google_assistant = { project_id = "light-cathode-372118"; };
project_id = "light-cathode-372118";
};
history = { }; history = { };
logbook = { }; logbook = { };
# logger.default = "debug"; # logger.default = "debug";
@ -380,7 +382,6 @@ with lib; {
extraComponents = [ extraComponents = [
"default_config" "default_config"
"accuweather" "accuweather"
"alert" "alert"
"analytics" "analytics"

View file

@ -1,9 +1,7 @@
{ config, lib, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = [ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
"xhci_pci" "xhci_pci"
@ -107,5 +105,6 @@
# networking.interfaces.ztmjfdwjkp.useDHCP = lib.mkDefault true; # networking.interfaces.ztmjfdwjkp.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -77,8 +77,7 @@ let
STOP STOP
''; '';
}; };
in in {
{
networking = { networking = {
hosts = { "127.0.0.1" = [ "ds.my.engine" "kdc.my.engine" "my.engine" ]; }; hosts = { "127.0.0.1" = [ "ds.my.engine" "kdc.my.engine" "my.engine" ]; };

View file

@ -1,3 +1 @@
{ { services.do-agent.enable = true; }
services.do-agent.enable = true;
}

View file

@ -4,8 +4,7 @@ let
url = url =
"https://github.com/notracking/hosts-blocklists/raw/master/dnsmasq/dnsmasq.blacklist.txt"; "https://github.com/notracking/hosts-blocklists/raw/master/dnsmasq/dnsmasq.blacklist.txt";
}; };
in in {
{
networking.firewall.allowedTCPPorts = [ 53 ]; networking.firewall.allowedTCPPorts = [ 53 ];
networking.firewall.allowedUDPPorts = [ 53 ]; networking.firewall.allowedUDPPorts = [ 53 ];

View file

@ -1,16 +1,37 @@
{ {
nix.registry = { nix.registry = {
agenix = { agenix = {
from = { id = "agenix"; type = "indirect"; }; from = {
to = { type = "github"; owner = "ryantm"; repo = "agenix"; }; id = "agenix";
type = "indirect";
};
to = {
type = "github";
owner = "ryantm";
repo = "agenix";
};
}; };
my-templates = { my-templates = {
from = { id = "my-templates"; type = "indirect"; }; from = {
to = { type = "github"; owner = "bertof"; repo = "flake-templates"; }; id = "my-templates";
type = "indirect";
};
to = {
type = "github";
owner = "bertof";
repo = "flake-templates";
};
}; };
tex2nix = { tex2nix = {
from = { id = "tex2nix"; type = "indirect"; }; from = {
to = { type = "github"; owner = "Mic92"; repo = "tex2nix"; }; id = "tex2nix";
type = "indirect";
};
to = {
type = "github";
owner = "Mic92";
repo = "tex2nix";
};
}; };
}; };
} }

View file

@ -1,11 +1,10 @@
{ config, lib, ... }: { config, lib, ... }:
let let
user_keys = user: lib.optionals user_keys = user:
(builtins.hasAttr "bertof" config.users.users) lib.optionals (builtins.hasAttr "bertof" config.users.users)
config.users.users.${user}.openssh.authorizedKeys.keys; config.users.users.${user}.openssh.authorizedKeys.keys;
in in {
{
# nix.buildMachines # nix.buildMachines
nix.distributedBuilds = true; nix.distributedBuilds = true;

View file

@ -67,10 +67,10 @@ with lib; {
# }; # };
windowManager.bspwm.enable = true; windowManager.bspwm.enable = true;
# Configure keymap in X11 # Configure keymap in X11
layout = "it,us"; layout = "it,us";
xkbOptions = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl,grp:menu_toggle"; xkbOptions =
"eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl,grp:menu_toggle";
libinput.enable = true; libinput.enable = true;
}; };
@ -158,22 +158,23 @@ with lib; {
services.onedrive.enable = true; services.onedrive.enable = true;
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh = { enable = true; openFirewall = true; }; services.openssh = {
enable = true;
openFirewall = true;
};
# Cooling management # Cooling management
services.thermald.enable = true; services.thermald.enable = true;
services.snapper = { services.snapper = {
configs = configs = let
let
bertofExtraConfig = '' bertofExtraConfig = ''
ALLOW_USERS="bertof" ALLOW_USERS="bertof"
TIMELINE_CREATE=yes TIMELINE_CREATE=yes
TIMELINE_CLEANUP=yes TIMELINE_CLEANUP=yes
''; '';
common = { extraConfig = bertofExtraConfig; }; common = { extraConfig = bertofExtraConfig; };
in in {
{
bertof_home = recursiveUpdate common { subvolume = "/home/bertof"; }; bertof_home = recursiveUpdate common { subvolume = "/home/bertof"; };
bertof_music = bertof_music =
recursiveUpdate common { subvolume = "/home/bertof/Musica"; }; recursiveUpdate common { subvolume = "/home/bertof/Musica"; };

View file

@ -20,7 +20,8 @@
displayManager.sddm = { displayManager.sddm = {
enable = true; enable = true;
autoNumlock = true; autoNumlock = true;
theme = "${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance"; theme =
"${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
}; };
}; };

View file

@ -34,7 +34,8 @@
displayManager.sddm = { displayManager.sddm = {
enable = true; enable = true;
autoNumlock = true; autoNumlock = true;
theme = "${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance"; theme =
"${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
}; };
}; };
} }

View file

@ -4,110 +4,96 @@
{ config, lib, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "sd_mod" ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@root" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@root" "x-gvfs-hide" ];
}; };
fileSystems."/nix" = fileSystems."/nix" = {
{
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@nix" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@nix" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof" = fileSystems."/home/bertof" = {
{
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@home" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@home" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof/Giochi/SSD" = fileSystems."/home/bertof/Giochi/SSD" = {
{
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@games" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@games" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof/Video" = fileSystems."/home/bertof/Video" = {
{
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64"; device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@videos" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@videos" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof/Giochi/SATA" = fileSystems."/home/bertof/Giochi/SATA" = {
{
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64"; device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@games" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@games" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof/Musica" = fileSystems."/home/bertof/Musica" = {
{
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64"; device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@music" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@music" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof/Immagini" = fileSystems."/home/bertof/Immagini" = {
{
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64"; device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@images" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@images" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof/Scaricati" = fileSystems."/home/bertof/Scaricati" = {
{
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64"; device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@downloads" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@downloads" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof/Documenti" = fileSystems."/home/bertof/Documenti" = {
{
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64"; device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@documents" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@documents" "x-gvfs-hide" ];
}; };
fileSystems."/home/bertof/Documenti/Git" = fileSystems."/home/bertof/Documenti/Git" = {
{
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
fsType = "btrfs"; fsType = "btrfs";
options = [ "space_cache=v2" "subvol=@bertof/@git" "x-gvfs-hide" ]; options = [ "space_cache=v2" "subvol=@bertof/@git" "x-gvfs-hide" ];
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{
device = "/dev/disk/by-uuid/82DB-3444"; device = "/dev/disk/by-uuid/82DB-3444";
fsType = "vfat"; fsType = "vfat";
}; };
fileSystems."/var/lib/docker/btrfs" = fileSystems."/var/lib/docker/btrfs" = {
{
device = "/home/bertof/Documenti/Git/@root/var/lib/docker/btrfs"; device = "/home/bertof/Documenti/Git/@root/var/lib/docker/btrfs";
fsType = "none"; fsType = "none";
options = [ "bind" "x-gvfs-hide" ]; options = [ "bind" "x-gvfs-hide" ];
}; };
swapDevices = swapDevices = [
[
{ device = "/dev/disk/by-uuid/5f3cf424-2bd8-4352-a778-1bb067cb5700"; } { device = "/dev/disk/by-uuid/5f3cf424-2bd8-4352-a778-1bb067cb5700"; }
{ device = "/swapfile"; size = 1024 * 32; } {
device = "/swapfile";
size = 1024 * 32;
}
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
@ -124,5 +110,6 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -1,17 +1,24 @@
let let
bertof_baldur = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbG791lSOl8Rqoy+KkdKiOJnOMRg02+HZ/VrlrWMYAX"; bertof_baldur =
bertof_odin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAhxOjo9Ac9hVd3eOR56F6sClUMUh1m7VpcmzA18dslj"; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbG791lSOl8Rqoy+KkdKiOJnOMRg02+HZ/VrlrWMYAX";
bertof_thor = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7mcf8fbMo1eXqSJeVFWaweB+JOU+67dFuf8laZKZZG"; bertof_odin =
bertof_loki = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPbbgBCzRsIO6giIVCgTUMgBCrexgvHmq8pis5A4ievH"; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAhxOjo9Ac9hVd3eOR56F6sClUMUh1m7VpcmzA18dslj";
bertof_thor =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7mcf8fbMo1eXqSJeVFWaweB+JOU+67dFuf8laZKZZG";
bertof_loki =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPbbgBCzRsIO6giIVCgTUMgBCrexgvHmq8pis5A4ievH";
users = [ bertof_odin bertof_thor bertof_loki bertof_baldur ]; users = [ bertof_odin bertof_thor bertof_loki bertof_baldur ];
baldur = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF9G8I75gOfB1QJhZU9z+UaYovWq05OfK2FVKtCb8Xxh"; baldur =
odin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP8bfOYmFN+KRjnAOdt9IazGeaRKm5tvGyblHD7MUhtr"; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF9G8I75gOfB1QJhZU9z+UaYovWq05OfK2FVKtCb8Xxh";
thor = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJbMiGx/QZ/RKgad3UNyEzgLfqRU0zBo8n0AU3s244Zw"; odin =
loki = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICeomEH/27XFlOjQ/GTO2mo8qPMHTbzLIsX0dloxXfhb"; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP8bfOYmFN+KRjnAOdt9IazGeaRKm5tvGyblHD7MUhtr";
thor =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJbMiGx/QZ/RKgad3UNyEzgLfqRU0zBo8n0AU3s244Zw";
loki =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICeomEH/27XFlOjQ/GTO2mo8qPMHTbzLIsX0dloxXfhb";
systems = [ odin thor baldur loki ]; systems = [ odin thor baldur loki ];
in in {
{
# "oauth_proxy_client_credentials.age".publicKeys = users ++ systems; # "oauth_proxy_client_credentials.age".publicKeys = users ++ systems;
"spotify_password.age".publicKeys = users ++ systems; "spotify_password.age".publicKeys = users ++ systems;
} }

View file

@ -126,8 +126,7 @@ with lib; {
notifications.x11.enable = true; notifications.x11.enable = true;
}; };
snapper = { snapper = {
configs = configs = let
let
common = { common = {
extraConfig = '' extraConfig = ''
ALLOW_USERS="bertof" ALLOW_USERS="bertof"
@ -135,8 +134,7 @@ with lib; {
TIMELINE_CLEANUP=yes TIMELINE_CLEANUP=yes
''; '';
}; };
in in {
{
bertof_home = recursiveUpdate common { subvolume = "/home/bertof"; }; bertof_home = recursiveUpdate common { subvolume = "/home/bertof"; };
}; };
}; };
@ -158,7 +156,8 @@ with lib; {
videoDrivers = [ "nvidia" ]; videoDrivers = [ "nvidia" ];
layout = "us,it"; layout = "us,it";
xkbOptions = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl,grp:menu_toggle"; xkbOptions =
"eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl,grp:menu_toggle";
xrandrHeads = [{ xrandrHeads = [{
primary = true; primary = true;
output = "DP-4"; output = "DP-4";

View file

@ -55,7 +55,10 @@
swapDevices = [ swapDevices = [
{ device = "/dev/disk/by-uuid/dee188e4-4ff8-417c-9419-b7f00ecb9989"; } { device = "/dev/disk/by-uuid/dee188e4-4ff8-417c-9419-b7f00ecb9989"; }
{ device = "/swapfile"; size = 1024 * 32; } {
device = "/swapfile";
size = 1024 * 32;
}
]; ];
} }