Switch to nixfmt
This commit is contained in:
parent
44794e2c3d
commit
5b974a203b
63 changed files with 990 additions and 946 deletions
|
|
@ -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;
|
||||||
loki = "172.23.254.55";
|
forceSSL = true;
|
||||||
in
|
|
||||||
{
|
|
||||||
"unimi.bertof.net" = ssl // { locations."/".extraConfig = "rewrite ^/(.*)$ https://homes.di.unimi.it/berto/$1 redirect ;"; };
|
|
||||||
"home-assistant.bertof.net" = ssl // {
|
|
||||||
locations."/" = { proxyPass = "http://${loki}:8123/"; proxyWebsockets = true; };
|
|
||||||
extraConfig = ''
|
|
||||||
proxy_pass_header Authorization;
|
|
||||||
proxy_buffering off;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
"radarr.bertof.net" = ssl // { locations."/" = { proxyPass = "http://${loki}:7878/"; proxyWebsockets = true; }; };
|
|
||||||
"sonarr.bertof.net" = ssl // { locations."/" = { proxyPass = "http://${loki}:8989/"; proxyWebsockets = true; }; };
|
|
||||||
"jellyfin.bertof.net" = ssl // { locations."/" = { proxyPass = "http://${loki}:8096/"; proxyWebsockets = true; }; };
|
|
||||||
};
|
};
|
||||||
|
loki = "172.23.254.55";
|
||||||
|
in {
|
||||||
|
"unimi.bertof.net" = ssl // {
|
||||||
|
locations."/".extraConfig =
|
||||||
|
"rewrite ^/(.*)$ https://homes.di.unimi.it/berto/$1 redirect ;";
|
||||||
|
};
|
||||||
|
"home-assistant.bertof.net" = ssl // {
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://${loki}:8123/";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
proxy_pass_header Authorization;
|
||||||
|
proxy_buffering off;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"radarr.bertof.net" = ssl // {
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://${loki}:7878/";
|
||||||
|
proxyWebsockets = 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;
|
||||||
};
|
};
|
||||||
openssh = { enable = true; openFirewall = true; };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
security.acme = {
|
security.acme = {
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,18 @@
|
||||||
{ 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";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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" ''
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,7 @@
|
||||||
{ lib
|
{ lib, rice, roboto, i3lock-color, writeScriptBin, font ? {
|
||||||
, rice
|
package = roboto;
|
||||||
, roboto
|
name = "Roboto";
|
||||||
, i3lock-color
|
}, palette ? rice.palette.palette { }, ... }:
|
||||||
, writeScriptBin
|
|
||||||
, font ? {
|
|
||||||
package = roboto;
|
|
||||||
name = "Roboto";
|
|
||||||
}
|
|
||||||
, 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}
|
||||||
|
|
|
||||||
|
|
@ -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`
|
||||||
|
|
|
||||||
243
flake.nix
243
flake.nix
|
|
@ -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";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
utils.follows = "flake-utils";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
agenix = {
|
||||||
deploy-rs = { url = "github:serokell/deploy-rs"; inputs = { nixpkgs.follows = "nixpkgs"; }; };
|
url = "github:ryantm/agenix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
deploy-rs = {
|
||||||
|
url = "github:serokell/deploy-rs";
|
||||||
|
inputs = { nixpkgs.follows = "nixpkgs"; };
|
||||||
|
};
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
nixos-generators = { url = "github:nix-community/nixos-generators"; inputs = { nixpkgs.follows = "nixpkgs"; }; };
|
nixos-generators = {
|
||||||
|
url = "github:nix-community/nixos-generators";
|
||||||
|
inputs = { nixpkgs.follows = "nixpkgs"; };
|
||||||
|
};
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
nix-rice = { url = "github:bertof/nix-rice/v0.3.1"; };
|
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"; }; };
|
pre-commit-hooks = {
|
||||||
tex2nix = { url = "github:Mic92/tex2nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; };
|
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 =
|
outputs = { self, nixpkgs, nixpkgs-u, home-manager, agenix, deploy-rs
|
||||||
{ self
|
, flake-utils, nixos-generators, nixos-hardware, nix-rice, pre-commit-hooks
|
||||||
, nixpkgs
|
, tex2nix }:
|
||||||
, 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,39 +84,41 @@
|
||||||
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 =
|
||||||
wallpaper = ./wallpapers/comfy_waves.jpg;
|
self.callPackage ./custom/sddm-theme-clairvoyance {
|
||||||
};
|
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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
buildInputs = [ deploy-rs.packages.${system}.deploy-rs ];
|
buildInputs = [ deploy-rs.packages.${system}.deploy-rs ];
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${self.checks.${system}.pre-commit-check.shellHook}
|
${self.checks.${system}.pre-commit-check.shellHook}
|
||||||
'';
|
'';
|
||||||
LOCAL_KEY = "/etc/nix/key";
|
LOCAL_KEY = "/etc/nix/key";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
commonModules = [
|
commonModules = [
|
||||||
# Nix configuration
|
# Nix configuration
|
||||||
|
|
@ -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,42 +228,39 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
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
|
nixos-hardware.nixosModules.common-pc-laptop-ssd
|
||||||
nixos-hardware.nixosModules.common-pc-laptop-ssd
|
./odin/hardware-configuration.nix
|
||||||
./odin/hardware-configuration.nix
|
./odin/common_configuration.nix
|
||||||
./odin/common_configuration.nix
|
|
||||||
|
|
||||||
./nixos_modules/pro_audio.nix
|
./nixos_modules/pro_audio.nix
|
||||||
./nixos_modules/sesar.nix
|
./nixos_modules/sesar.nix
|
||||||
./nixos_modules/pentablet.nix
|
./nixos_modules/pentablet.nix
|
||||||
./nixos_modules/steam-link.nix
|
./nixos_modules/steam-link.nix
|
||||||
./nixos_modules/kdeconnect.nix
|
./nixos_modules/kdeconnect.nix
|
||||||
|
|
||||||
{ home-manager.users.bertof = import ./odin/hm.nix; }
|
{ home-manager.users.bertof = import ./odin/hm.nix; }
|
||||||
|
];
|
||||||
|
in rec {
|
||||||
|
odin-nvidia = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = commonModules ++ odinCommonModules ++ [
|
||||||
|
{ nixpkgs.config = config // { cudaSupport = true; }; }
|
||||||
|
./odin/configuration-nvidia.nix
|
||||||
];
|
];
|
||||||
in
|
|
||||||
rec {
|
|
||||||
odin-nvidia = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = commonModules ++ odinCommonModules ++ [
|
|
||||||
{ nixpkgs.config = config // { cudaSupport = true; }; }
|
|
||||||
./odin/configuration-nvidia.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
odin-intel = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = commonModules ++ odinCommonModules ++ [
|
|
||||||
./odin/configuration-intel.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
odin = odin-intel;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
odin-intel = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = commonModules ++ odinCommonModules
|
||||||
|
++ [ ./odin/configuration-intel.nix ];
|
||||||
|
};
|
||||||
|
|
||||||
|
odin = odin-intel;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# freyaConfig = {
|
# freyaConfig = {
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -1,102 +1,100 @@
|
||||||
{
|
{
|
||||||
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 = {
|
||||||
{
|
fingerprint = { "eDP-1-1" = dell-laptop.fingerprint; };
|
||||||
odin-nvidia = {
|
config = {
|
||||||
fingerprint = { "eDP-1-1" = dell-laptop.fingerprint; };
|
"eDP-1-1" = {
|
||||||
config = {
|
inherit (dell-laptop) mode dpi;
|
||||||
"eDP-1-1" = {
|
primary = true;
|
||||||
inherit (dell-laptop) mode dpi;
|
crtc = 0;
|
||||||
primary = true;
|
|
||||||
crtc = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
odin-intel = {
|
|
||||||
fingerprint = { "eDP1" = dell-laptop.fingerprint; };
|
|
||||||
config = {
|
|
||||||
"eDP1" = {
|
|
||||||
inherit (dell-laptop) mode dpi;
|
|
||||||
primary = true;
|
|
||||||
crtc = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
odin-intel-laboratorio-dock-dell = {
|
|
||||||
fingerprint = {
|
|
||||||
"DP1-3" =
|
|
||||||
"00ffffffffffff0010ac10d04c36453221110103682b1b78ee8db0a2544a9c25115054a54b00714f818001010101010101010101010121399030621a274068b03600ae0e1100001c000000ff00434b3632373738413245364c0a000000fd00384b1e530f000a202020202020000000fc0044454c4c20453230375746500a0088";
|
|
||||||
"eDP1" = dell-laptop.fingerprint;
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
"DP1-3" = {
|
|
||||||
crtc = 1;
|
|
||||||
mode = "1680x1050";
|
|
||||||
position = "120x0";
|
|
||||||
primary = true;
|
|
||||||
dpi = 96;
|
|
||||||
};
|
|
||||||
"eDP1" = {
|
|
||||||
inherit (dell-laptop) mode dpi;
|
|
||||||
crtc = 0;
|
|
||||||
position = "0x1080";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
odin-intel-laboratorio = {
|
|
||||||
fingerprint = {
|
|
||||||
"DP1-3" =
|
|
||||||
"00ffffffffffff0010ac71404c473344281601030e331d78eadd45a3554fa027125054a54b00714f8180d1c001010101010101010101023a801871382d40582c4500fe1f1100001e000000ff004b463837593241364433474c0a000000fc0044454c4c205532333132484d0a000000fd00384c1e5311000a2020202020200081";
|
|
||||||
"eDP1" = dell-laptop.fingerprint;
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
"DP1-3" = {
|
|
||||||
crtc = 1;
|
|
||||||
mode = "1920x1080";
|
|
||||||
position = "0x0";
|
|
||||||
primary = true;
|
|
||||||
dpi = 96;
|
|
||||||
};
|
|
||||||
"eDP1" = {
|
|
||||||
inherit (dell-laptop) mode dpi;
|
|
||||||
crtc = 0;
|
|
||||||
position = "0x1080";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
thor-default = {
|
|
||||||
fingerprint = {
|
|
||||||
"DP-2" =
|
|
||||||
"00ffffffffffff001e6d7f5ba1c60a00011f0104b53c22789f8cb5af4f43ab260e5054254b007140818081c0a9c0b300d1c08100d1cf09ec00a0a0a0675030203a0055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003130314e5454514c533230390a017102031a7123090607e305c000e606050160592846100403011f136fc200a0a0a0555030203a0055502100001a565e00a0a0a029503020350055502100001a5aa000a0a0a0465030203a005550210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da";
|
|
||||||
"HDMI-0" =
|
|
||||||
"00ffffffffffff004c2d2c0d443650302e19010380341d782a5295a556549d250e5054bb8c00b30081c0810081809500a9c001010101023a801871382d40582c450009252100001e000000fd0030481e5216000a202020202020000000fc00433234463339300a2020202020000000ff00485451483330353636370a20200163020324f14690041f131203230907078301000067030c001000802b681a00000101304800011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018215280a07238304088c8350009252100001c00000000000000000000000000000000000000fa";
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
"DP-2" = {
|
|
||||||
crtc = 0;
|
|
||||||
mode = "2560x1440";
|
|
||||||
position = "1080x162";
|
|
||||||
primary = true;
|
|
||||||
dpi = 96;
|
|
||||||
};
|
|
||||||
"HDMI-0" = {
|
|
||||||
crtc = 1;
|
|
||||||
mode = "1920x1080";
|
|
||||||
position = "0x0";
|
|
||||||
rotate = "right";
|
|
||||||
dpi = 96;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
odin-intel = {
|
||||||
|
fingerprint = { "eDP1" = dell-laptop.fingerprint; };
|
||||||
|
config = {
|
||||||
|
"eDP1" = {
|
||||||
|
inherit (dell-laptop) mode dpi;
|
||||||
|
primary = true;
|
||||||
|
crtc = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
odin-intel-laboratorio-dock-dell = {
|
||||||
|
fingerprint = {
|
||||||
|
"DP1-3" =
|
||||||
|
"00ffffffffffff0010ac10d04c36453221110103682b1b78ee8db0a2544a9c25115054a54b00714f818001010101010101010101010121399030621a274068b03600ae0e1100001c000000ff00434b3632373738413245364c0a000000fd00384b1e530f000a202020202020000000fc0044454c4c20453230375746500a0088";
|
||||||
|
"eDP1" = dell-laptop.fingerprint;
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
"DP1-3" = {
|
||||||
|
crtc = 1;
|
||||||
|
mode = "1680x1050";
|
||||||
|
position = "120x0";
|
||||||
|
primary = true;
|
||||||
|
dpi = 96;
|
||||||
|
};
|
||||||
|
"eDP1" = {
|
||||||
|
inherit (dell-laptop) mode dpi;
|
||||||
|
crtc = 0;
|
||||||
|
position = "0x1080";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
odin-intel-laboratorio = {
|
||||||
|
fingerprint = {
|
||||||
|
"DP1-3" =
|
||||||
|
"00ffffffffffff0010ac71404c473344281601030e331d78eadd45a3554fa027125054a54b00714f8180d1c001010101010101010101023a801871382d40582c4500fe1f1100001e000000ff004b463837593241364433474c0a000000fc0044454c4c205532333132484d0a000000fd00384c1e5311000a2020202020200081";
|
||||||
|
"eDP1" = dell-laptop.fingerprint;
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
"DP1-3" = {
|
||||||
|
crtc = 1;
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "0x0";
|
||||||
|
primary = true;
|
||||||
|
dpi = 96;
|
||||||
|
};
|
||||||
|
"eDP1" = {
|
||||||
|
inherit (dell-laptop) mode dpi;
|
||||||
|
crtc = 0;
|
||||||
|
position = "0x1080";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
thor-default = {
|
||||||
|
fingerprint = {
|
||||||
|
"DP-2" =
|
||||||
|
"00ffffffffffff001e6d7f5ba1c60a00011f0104b53c22789f8cb5af4f43ab260e5054254b007140818081c0a9c0b300d1c08100d1cf09ec00a0a0a0675030203a0055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003130314e5454514c533230390a017102031a7123090607e305c000e606050160592846100403011f136fc200a0a0a0555030203a0055502100001a565e00a0a0a029503020350055502100001a5aa000a0a0a0465030203a005550210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da";
|
||||||
|
"HDMI-0" =
|
||||||
|
"00ffffffffffff004c2d2c0d443650302e19010380341d782a5295a556549d250e5054bb8c00b30081c0810081809500a9c001010101023a801871382d40582c450009252100001e000000fd0030481e5216000a202020202020000000fc00433234463339300a2020202020000000ff00485451483330353636370a20200163020324f14690041f131203230907078301000067030c001000802b681a00000101304800011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018215280a07238304088c8350009252100001c00000000000000000000000000000000000000fa";
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
"DP-2" = {
|
||||||
|
crtc = 0;
|
||||||
|
mode = "2560x1440";
|
||||||
|
position = "1080x162";
|
||||||
|
primary = true;
|
||||||
|
dpi = 96;
|
||||||
|
};
|
||||||
|
"HDMI-0" = {
|
||||||
|
crtc = 1;
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "0x0";
|
||||||
|
rotate = "right";
|
||||||
|
dpi = 96;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: { home.packages = with pkgs; [ calibre mangal ]; }
|
||||||
home.packages = with pkgs;[ calibre mangal ];
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: { home.packages = with pkgs; [ blender ]; }
|
||||||
home.packages = with pkgs; [ blender ];
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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 { } {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ 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
|
||||||
cmake-language-server # CMAKE
|
cmake-language-server # CMAKE
|
||||||
] ++ lib.optionals config.programs.kakoune.enable [
|
] ++ lib.optionals config.programs.kakoune.enable [
|
||||||
clang-tools # C, CPP
|
clang-tools # C, CPP
|
||||||
cmake-language-server # CMAKE
|
cmake-language-server # CMAKE
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
home.packages = with pkgs; lib.optionals config.programs.helix.enable [
|
home.packages = with pkgs;
|
||||||
nodePackages.vscode-langservers-extracted # CSS, HTML, JSON, SCSS
|
lib.optionals config.programs.helix.enable [
|
||||||
yaml-language-server # YAML
|
nodePackages.vscode-langservers-extracted # CSS, HTML, JSON, SCSS
|
||||||
taplo-cli # TOML
|
yaml-language-server # YAML
|
||||||
] ++ lib.optionals config.programs.kakoune.enable [
|
taplo-cli # TOML
|
||||||
nodePackages.vscode-langservers-extracted # CSS, HTML, JSON, SCSS
|
] ++ lib.optionals config.programs.kakoune.enable [
|
||||||
yaml-language-server # YAML
|
nodePackages.vscode-langservers-extracted # CSS, HTML, JSON, SCSS
|
||||||
];
|
yaml-language-server # YAML
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 ];
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: { home.packages = with pkgs; [ kubectl kubernetes-helm lens ]; }
|
||||||
home.packages = with pkgs; [
|
|
||||||
kubectl
|
|
||||||
kubernetes-helm
|
|
||||||
lens
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,13 @@
|
||||||
{ 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
|
||||||
texlab
|
aspell
|
||||||
] ++ lib.optionals config.programs.kakoune.enable [
|
aspellDicts.en
|
||||||
texlab
|
aspellDicts.en-computers
|
||||||
aspell
|
aspellDicts.en-science
|
||||||
aspellDicts.en
|
aspellDicts.it
|
||||||
aspellDicts.en-computers
|
];
|
||||||
aspellDicts.en-science
|
|
||||||
aspellDicts.it
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,16 @@
|
||||||
{ 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
|
# python3Packages.pyls-black # BLACK # NOT UPDATED
|
||||||
# python3Packages.pyls-black # BLACK # NOT UPDATED
|
python3Packages.pyls-isort # ISORT
|
||||||
python3Packages.pyls-isort # ISORT
|
] ++ lib.optionals config.programs.kakoune.enable [
|
||||||
] ++ lib.optionals config.programs.kakoune.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
|
# python3Packages.pyls-black # BLACK # NOT UPDATED
|
||||||
# python3Packages.pyls-black # BLACK # NOT UPDATED
|
python3Packages.pyls-isort # ISORT
|
||||||
python3Packages.pyls-isort # ISORT
|
];
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,37 +1,34 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
{ pkgs, lib, config, ... }: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs;
|
||||||
bacon
|
[
|
||||||
cargo
|
bacon
|
||||||
# cargo-about
|
cargo
|
||||||
cargo-audit
|
# cargo-about
|
||||||
# cargo-auditable
|
cargo-audit
|
||||||
cargo-criterion
|
# cargo-auditable
|
||||||
cargo-deadlinks
|
cargo-criterion
|
||||||
# cargo-deny
|
cargo-deadlinks
|
||||||
# cargo-deps
|
# cargo-deny
|
||||||
cargo-expand
|
# cargo-deps
|
||||||
# cargo-feature
|
cargo-expand
|
||||||
cargo-flamegraph
|
# cargo-feature
|
||||||
cargo-fuzz
|
cargo-flamegraph
|
||||||
cargo-hack
|
cargo-fuzz
|
||||||
cargo-hakari
|
cargo-hack
|
||||||
cargo-inspect
|
cargo-hakari
|
||||||
cargo-modules
|
cargo-inspect
|
||||||
cargo-outdated
|
cargo-modules
|
||||||
cargo-profiler
|
cargo-outdated
|
||||||
cargo-release
|
cargo-profiler
|
||||||
cargo-show-asm
|
cargo-release
|
||||||
cargo-spellcheck
|
cargo-show-asm
|
||||||
cargo-tarpaulin
|
cargo-spellcheck
|
||||||
cargo-udeps
|
cargo-tarpaulin
|
||||||
cargo-watch
|
cargo-udeps
|
||||||
cargo-workspaces
|
cargo-watch
|
||||||
clippy
|
cargo-workspaces
|
||||||
rustfmt
|
clippy
|
||||||
] ++ lib.optionals config.programs.helix.enable [
|
rustfmt
|
||||||
rust-analyzer
|
] ++ lib.optionals config.programs.helix.enable [ rust-analyzer ]
|
||||||
] ++
|
++ lib.optionals config.programs.kakoune.enable [ rust-analyzer ];
|
||||||
lib.optionals config.programs.kakoune.enable [
|
|
||||||
rust-analyzer
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
package = with pkgs.dwarf-fortress-packages; dwarf-fortress-full.override {
|
package = with pkgs.dwarf-fortress-packages;
|
||||||
theme = themes.ironhand;
|
dwarf-fortress-full.override {
|
||||||
enableFPS = true;
|
theme = themes.ironhand;
|
||||||
};
|
enableFPS = true;
|
||||||
in
|
};
|
||||||
{
|
in { home.packages = [ package ]; }
|
||||||
home.packages = [ package ];
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
# ];
|
# ];
|
||||||
|
|
|
||||||
|
|
@ -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,84 +52,82 @@ 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";
|
white = "#fbf1c7";
|
||||||
white = "#fbf1c7";
|
black = "#282828";
|
||||||
black = "#282828";
|
red = "#fb4934";
|
||||||
red = "#fb4934";
|
green = "#b8bb26";
|
||||||
green = "#b8bb26";
|
yellow = "#fabd2f";
|
||||||
yellow = "#fabd2f";
|
orange = "#fe8019";
|
||||||
orange = "#fe8019";
|
blue = "#83a598";
|
||||||
blue = "#83a598";
|
magenta = "#d3869b";
|
||||||
magenta = "#d3869b";
|
cyan = "#8ec07c";
|
||||||
cyan = "#8ec07c";
|
in {
|
||||||
in
|
base16 = {
|
||||||
{
|
"ui.menu" = transparent;
|
||||||
base16 = {
|
"ui.menu.selected" = { modifiers = [ "reversed" ]; };
|
||||||
"ui.menu" = transparent;
|
"ui.linenr" = {
|
||||||
"ui.menu.selected" = { modifiers = [ "reversed" ]; };
|
fg = gray;
|
||||||
"ui.linenr" = {
|
bg = dark-gray;
|
||||||
fg = gray;
|
|
||||||
bg = dark-gray;
|
|
||||||
};
|
|
||||||
"ui.popup" = { modifiers = [ "reversed" ]; };
|
|
||||||
"ui.linenr.selected" = {
|
|
||||||
fg = white;
|
|
||||||
bg = black;
|
|
||||||
modifiers = [ "bold" ];
|
|
||||||
};
|
|
||||||
"ui.selection" = {
|
|
||||||
fg = black;
|
|
||||||
bg = blue;
|
|
||||||
};
|
|
||||||
"ui.selection.primary" = { modifiers = [ "reversed" ]; };
|
|
||||||
"comment" = { fg = gray; };
|
|
||||||
"ui.statusline" = {
|
|
||||||
fg = white;
|
|
||||||
bg = dark-gray;
|
|
||||||
};
|
|
||||||
"ui.statusline.inactive" = {
|
|
||||||
fg = dark-gray;
|
|
||||||
bg = white;
|
|
||||||
};
|
|
||||||
"ui.help" = {
|
|
||||||
fg = dark-gray;
|
|
||||||
bg = white;
|
|
||||||
};
|
|
||||||
"ui.cursor" = { modifiers = [ "reversed" ]; };
|
|
||||||
"variable" = red;
|
|
||||||
"variable.builtin" = orange;
|
|
||||||
"constant.numeric" = orange;
|
|
||||||
"constant" = orange;
|
|
||||||
"attributes" = yellow;
|
|
||||||
"type" = yellow;
|
|
||||||
"ui.cursor.match" = {
|
|
||||||
fg = yellow;
|
|
||||||
modifiers = [ "underlined" ];
|
|
||||||
};
|
|
||||||
"string" = green;
|
|
||||||
"variable.other.member" = red;
|
|
||||||
"constant.character.escape" = cyan;
|
|
||||||
"function" = blue;
|
|
||||||
"constructor" = blue;
|
|
||||||
"special" = blue;
|
|
||||||
"keyword" = magenta;
|
|
||||||
"label" = magenta;
|
|
||||||
"namespace" = blue;
|
|
||||||
"diff.plus" = green;
|
|
||||||
"diff.delta" = yellow;
|
|
||||||
"diff.minus" = red;
|
|
||||||
"diagnostic" = { modifiers = [ "underlined" ]; };
|
|
||||||
"ui.gutter" = { bg = black; };
|
|
||||||
"info" = blue;
|
|
||||||
"hint" = dark-gray;
|
|
||||||
"debug" = dark-gray;
|
|
||||||
"warning" = yellow;
|
|
||||||
"error" = red;
|
|
||||||
};
|
};
|
||||||
|
"ui.popup" = { modifiers = [ "reversed" ]; };
|
||||||
|
"ui.linenr.selected" = {
|
||||||
|
fg = white;
|
||||||
|
bg = black;
|
||||||
|
modifiers = [ "bold" ];
|
||||||
|
};
|
||||||
|
"ui.selection" = {
|
||||||
|
fg = black;
|
||||||
|
bg = blue;
|
||||||
|
};
|
||||||
|
"ui.selection.primary" = { modifiers = [ "reversed" ]; };
|
||||||
|
"comment" = { fg = gray; };
|
||||||
|
"ui.statusline" = {
|
||||||
|
fg = white;
|
||||||
|
bg = dark-gray;
|
||||||
|
};
|
||||||
|
"ui.statusline.inactive" = {
|
||||||
|
fg = dark-gray;
|
||||||
|
bg = white;
|
||||||
|
};
|
||||||
|
"ui.help" = {
|
||||||
|
fg = dark-gray;
|
||||||
|
bg = white;
|
||||||
|
};
|
||||||
|
"ui.cursor" = { modifiers = [ "reversed" ]; };
|
||||||
|
"variable" = red;
|
||||||
|
"variable.builtin" = orange;
|
||||||
|
"constant.numeric" = orange;
|
||||||
|
"constant" = orange;
|
||||||
|
"attributes" = yellow;
|
||||||
|
"type" = yellow;
|
||||||
|
"ui.cursor.match" = {
|
||||||
|
fg = yellow;
|
||||||
|
modifiers = [ "underlined" ];
|
||||||
|
};
|
||||||
|
"string" = green;
|
||||||
|
"variable.other.member" = red;
|
||||||
|
"constant.character.escape" = cyan;
|
||||||
|
"function" = blue;
|
||||||
|
"constructor" = blue;
|
||||||
|
"special" = blue;
|
||||||
|
"keyword" = magenta;
|
||||||
|
"label" = magenta;
|
||||||
|
"namespace" = blue;
|
||||||
|
"diff.plus" = green;
|
||||||
|
"diff.delta" = yellow;
|
||||||
|
"diff.minus" = red;
|
||||||
|
"diagnostic" = { modifiers = [ "underlined" ]; };
|
||||||
|
"ui.gutter" = { bg = black; };
|
||||||
|
"info" = blue;
|
||||||
|
"hint" = dark-gray;
|
||||||
|
"debug" = dark-gray;
|
||||||
|
"warning" = yellow;
|
||||||
|
"error" = red;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
{
|
{
|
||||||
services.kdeconnect = { enable = true; indicator = true; };
|
services.kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
indicator = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
programs.password-store = {
|
programs.password-store = {
|
||||||
package = pkgs.pass.withExtensions (ext: with ext; [
|
package = pkgs.pass.withExtensions (ext:
|
||||||
pass-audit
|
with ext; [
|
||||||
pass-checkup
|
pass-audit
|
||||||
pass-import
|
pass-checkup
|
||||||
pass-otp
|
pass-import
|
||||||
pass-tomb
|
pass-otp
|
||||||
pass-update
|
pass-tomb
|
||||||
]);
|
pass-update
|
||||||
|
]);
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,14 +26,13 @@ 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}"'')
|
(if text == null then "" else ''--text "${text}"'')
|
||||||
(if text == null then "" else ''--text "${text}"'')
|
"&& ${cmd}"
|
||||||
"&& ${cmd}"
|
];
|
||||||
];
|
|
||||||
systemctl = "${pkgs.systemd}/bin/systemctl";
|
systemctl = "${pkgs.systemd}/bin/systemctl";
|
||||||
loginctl = "${pkgs.systemd}/bin/loginctl";
|
loginctl = "${pkgs.systemd}/bin/loginctl";
|
||||||
shutdown = "${pkgs.systemd}/bin/shutdown";
|
shutdown = "${pkgs.systemd}/bin/shutdown";
|
||||||
|
|
@ -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,22 +192,20 @@ 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
|
|
||||||
{
|
|
||||||
focused = recursiveUpdate common colors.selected;
|
|
||||||
occupied = recursiveUpdate common colors.active;
|
|
||||||
urgent = recursiveUpdate (recursiveUpdate common colors.active) {
|
|
||||||
background = colors.alert;
|
|
||||||
};
|
|
||||||
empty = recursiveUpdate common colors.normal;
|
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
focused = recursiveUpdate common colors.selected;
|
||||||
|
occupied = recursiveUpdate common colors.active;
|
||||||
|
urgent = recursiveUpdate (recursiveUpdate common colors.active) {
|
||||||
|
background = colors.alert;
|
||||||
|
};
|
||||||
|
empty = recursiveUpdate common colors.normal;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"module/cpu" = {
|
"module/cpu" = {
|
||||||
|
|
@ -303,42 +300,40 @@ 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 {
|
cmd = logout;
|
||||||
cmd = logout;
|
title = "Logout";
|
||||||
title = "Logout";
|
text = "Do you want to logout?";
|
||||||
text = "Do you want to logout?";
|
};
|
||||||
};
|
}
|
||||||
}
|
{
|
||||||
{
|
text = "";
|
||||||
text = "";
|
exec = confirm_command {
|
||||||
exec = confirm_command {
|
cmd = "${systemctl} reboot";
|
||||||
cmd = "${systemctl} reboot";
|
title = "Reboot";
|
||||||
title = "Reboot";
|
text = "Do you want to reboot?";
|
||||||
text = "Do you want to reboot?";
|
};
|
||||||
};
|
}
|
||||||
}
|
{
|
||||||
{
|
text = "";
|
||||||
text = "";
|
exec = confirm_command {
|
||||||
exec = confirm_command {
|
cmd = "${systemctl} hibernate";
|
||||||
cmd = "${systemctl} hibernate";
|
title = "Hibernate";
|
||||||
title = "Hibernate";
|
text = "Do you want to hibernate?";
|
||||||
text = "Do you want to hibernate?";
|
};
|
||||||
};
|
}
|
||||||
}
|
{
|
||||||
{
|
text = "";
|
||||||
text = "";
|
exec = confirm_command {
|
||||||
exec = confirm_command {
|
cmd = "${shutdown} now";
|
||||||
cmd = "${shutdown} now";
|
title = "Shutdown";
|
||||||
title = "Shutdown";
|
text = "Do you want to shutdown?";
|
||||||
text = "Do you want to shutdown?";
|
};
|
||||||
};
|
}
|
||||||
}
|
]];
|
||||||
]
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
"module/notifications" = {
|
"module/notifications" = {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -11,82 +11,93 @@
|
||||||
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";
|
emojiChooser = "rofimoji --skin-tone light -a copy";
|
||||||
emojiChooser = "rofimoji --skin-tone light -a copy";
|
yad = "${pkgs.yad}/bin/yad";
|
||||||
yad = "${pkgs.yad}/bin/yad";
|
notify = "${pkgs.libnotify}/bin/notify-send";
|
||||||
notify = "${pkgs.libnotify}/bin/notify-send";
|
pamixer = "${pkgs.pamixer}/bin/pamixer";
|
||||||
pamixer = "${pkgs.pamixer}/bin/pamixer";
|
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||||
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
xbacklight = "${pkgs.xorg.xbacklight}/bin/xbacklight";
|
||||||
xbacklight = "${pkgs.xorg.xbacklight}/bin/xbacklight";
|
resetBspwm = pkgs.writeShellScript "resetBspwm" ''
|
||||||
resetBspwm = pkgs.writeShellScript "resetBspwm" ''
|
bspc wm -r
|
||||||
bspc wm -r
|
systemctl --user restart polybar # Restart polybar
|
||||||
systemctl --user restart polybar # Restart polybar
|
'';
|
||||||
|
moveAllNodesToPrimary = pkgs.writeShellScript "moveAllNodesToPrimary" ''
|
||||||
|
comm -23 <(bspc query -N | sort) <(bspc query -m primary -N | sort) | while read n; do bspc node $n -m primary; done
|
||||||
|
'';
|
||||||
|
notifyVolume = pkgs.writeShellScript "notifyVolume" ''
|
||||||
|
volume=`${pamixer} --get-volume`
|
||||||
|
${notify} -r 1 -h "int:value:$volume" "Volume $volume%"
|
||||||
|
'';
|
||||||
|
notifyBrightness = pkgs.writeShellScript "notifyBrightness" ''
|
||||||
|
level=`printf "%.0f" $(${xbacklight} -get)`
|
||||||
|
${notify} -r 2 -h "int:value:$level" "Luminosità $level"
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
keybindings = {
|
||||||
|
"alt + Tab" = "rofi -show window";
|
||||||
|
"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 + m" = "lockscreen";
|
||||||
|
"super + alt + p" = "autorandr -c";
|
||||||
|
"super + alt + shift + p" = "arandr";
|
||||||
|
"super + alt + q" = ''
|
||||||
|
${yad} --question --center --on-top --sticky --timeout=30 --timeout-indicator=bottom --image=gnome-shutdown --title "Shutdown" --text "Do you want to shutdown?" && bspc quit
|
||||||
'';
|
'';
|
||||||
moveAllNodesToPrimary = pkgs.writeShellScript "moveAllNodesToPrimary" ''
|
"super + alt + o" = "${moveAllNodesToPrimary}";
|
||||||
comm -23 <(bspc query -N | sort) <(bspc query -m primary -N | sort) | while read n; do bspc node $n -m primary; done
|
"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 + bracket{left,right}" = "bspc desktop -f {prev,next}.local";
|
||||||
|
"super + b" = "${pkgs.update-background}/bin/update-background";
|
||||||
|
"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 + {m,x,y,z}" =
|
||||||
|
"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 + e" = fileManager;
|
||||||
|
"super + shift + p" = "clipedit";
|
||||||
|
"super + Escape" = "pkill -USR1 -x sxhkd";
|
||||||
|
"super + g" = "bspc node -s biggest";
|
||||||
|
"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 + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}";
|
||||||
|
"super + m" = "bspc desktop -l next";
|
||||||
|
"super + n {_, + shift}" = "bsp-layout {next, previous}";
|
||||||
|
"super + {o,i}" =
|
||||||
|
"bspc wm -h off;bspc node {older,newer} -f;bspc wm -h on";
|
||||||
|
"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 + } @space" = "rofi -show {drun,run}";
|
||||||
|
"super + shift + ctrl + d" = "rofi -show ssh";
|
||||||
|
"super + shift + e" = emojiChooser;
|
||||||
|
"super + shift + {h,j,k,l}" = ''
|
||||||
|
dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow
|
||||||
'';
|
'';
|
||||||
notifyVolume = pkgs.writeShellScript "notifyVolume" ''
|
"super + {_,shift + } Return" =
|
||||||
volume=`${pamixer} --get-volume`
|
"{${primaryTerminal} , ${secondaryTerminal}}";
|
||||||
${notify} -r 1 -h "int:value:$volume" "Volume $volume%"
|
"super + {_,shift + } w" = "bspc node -{c,k}";
|
||||||
'';
|
"super + {t,shift + t,s,f}" =
|
||||||
notifyBrightness = pkgs.writeShellScript "notifyBrightness" ''
|
"bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
|
||||||
level=`printf "%.0f" $(${xbacklight} -get)`
|
# "super + y" = "bspc node newest.marked.local -n newest.!automatic.local";
|
||||||
${notify} -r 2 -h "int:value:$level" "Luminosità $level"
|
"XF86Audio{LowerVolume,Mute,RaiseVolume}" =
|
||||||
'';
|
"${pamixer} {-d 2 -u,-t,-i 2 -u} && ${notifyVolume}";
|
||||||
in
|
"XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}";
|
||||||
{
|
"super + alt + {Right,Down,Left}" =
|
||||||
enable = true;
|
"${playerctl} {next,play-pause,previous}";
|
||||||
keybindings = {
|
"XF86MonBrightness{Up,Down}" =
|
||||||
"alt + Tab" = "rofi -show window";
|
" ${xbacklight} -{inc,dec} 10 && ${notifyBrightness}";
|
||||||
"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 + m" = "lockscreen";
|
|
||||||
"super + alt + p" = "autorandr -c";
|
|
||||||
"super + alt + shift + p" = "arandr";
|
|
||||||
"super + alt + q" = ''
|
|
||||||
${yad} --question --center --on-top --sticky --timeout=30 --timeout-indicator=bottom --image=gnome-shutdown --title "Shutdown" --text "Do you want to shutdown?" && bspc quit
|
|
||||||
'';
|
|
||||||
"super + alt + o" = "${moveAllNodesToPrimary}";
|
|
||||||
"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 + bracket{left,right}" = "bspc desktop -f {prev,next}.local";
|
|
||||||
"super + b" = "${pkgs.update-background}/bin/update-background";
|
|
||||||
"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 + {m,x,y,z}" = "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 + e" = fileManager;
|
|
||||||
"super + shift + p" = "clipedit";
|
|
||||||
"super + Escape" = "pkill -USR1 -x sxhkd";
|
|
||||||
"super + g" = "bspc node -s biggest";
|
|
||||||
"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 + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}";
|
|
||||||
"super + m" = "bspc desktop -l next";
|
|
||||||
"super + n {_, + shift}" = "bsp-layout {next, previous}";
|
|
||||||
"super + {o,i}" = "bspc wm -h off;bspc node {older,newer} -f;bspc wm -h on";
|
|
||||||
"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 + } @space" = "rofi -show {drun,run}";
|
|
||||||
"super + shift + ctrl + d" = "rofi -show ssh";
|
|
||||||
"super + shift + e" = emojiChooser;
|
|
||||||
"super + shift + {h,j,k,l}" = ''
|
|
||||||
dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow
|
|
||||||
'';
|
|
||||||
"super + {_,shift + } Return" = "{${primaryTerminal} , ${secondaryTerminal}}";
|
|
||||||
"super + {_,shift + } w" = "bspc node -{c,k}";
|
|
||||||
"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";
|
|
||||||
"XF86Audio{LowerVolume,Mute,RaiseVolume}" = "${pamixer} {-d 2 -u,-t,-i 2 -u} && ${notifyVolume}";
|
|
||||||
"XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}";
|
|
||||||
"super + alt + {Right,Down,Left}" = "${playerctl} {next,play-pause,previous}";
|
|
||||||
"XF86MonBrightness{Up,Down}" = " ${xbacklight} -{inc,dec} 10 && ${notifyBrightness}";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -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" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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; ''
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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; }
|
|
||||||
|
|
|
||||||
|
|
@ -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" ''
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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,42 +134,40 @@ 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";
|
"create mask" = "0700";
|
||||||
"create mask" = "0700";
|
"directory mask" = "2700";
|
||||||
"directory mask" = "2700";
|
"browseable" = "yes";
|
||||||
"browseable" = "yes";
|
"guest ok" = "no";
|
||||||
"guest ok" = "no";
|
"read only" = "no";
|
||||||
"read only" = "no";
|
"force group" = "users";
|
||||||
"force group" = "users";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
bertof = recursiveUpdate common {
|
|
||||||
path = "/home/bertof/";
|
|
||||||
comment = "Bertof samba share";
|
|
||||||
"force user" = "bertof";
|
|
||||||
"valid users" = "bertof";
|
|
||||||
};
|
|
||||||
tiziano = recursiveUpdate common {
|
|
||||||
path = "/home/tiziano/";
|
|
||||||
comment = "Tiziano samba share";
|
|
||||||
"force user" = "tiziano";
|
|
||||||
"valid users" = "tiziano";
|
|
||||||
};
|
|
||||||
condiviso = recursiveUpdate common {
|
|
||||||
path = "/mnt/raid0/condiviso";
|
|
||||||
comment = "Samba share condiviso";
|
|
||||||
"valid users" = "bertof tiziano";
|
|
||||||
"create mask" = "0770";
|
|
||||||
"directory mask" = "2770";
|
|
||||||
"force create mode" = "0660";
|
|
||||||
"force directory mode" = "2770";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
bertof = recursiveUpdate common {
|
||||||
|
path = "/home/bertof/";
|
||||||
|
comment = "Bertof samba share";
|
||||||
|
"force user" = "bertof";
|
||||||
|
"valid users" = "bertof";
|
||||||
|
};
|
||||||
|
tiziano = recursiveUpdate common {
|
||||||
|
path = "/home/tiziano/";
|
||||||
|
comment = "Tiziano samba share";
|
||||||
|
"force user" = "tiziano";
|
||||||
|
"valid users" = "tiziano";
|
||||||
|
};
|
||||||
|
condiviso = recursiveUpdate common {
|
||||||
|
path = "/mnt/raid0/condiviso";
|
||||||
|
comment = "Samba share condiviso";
|
||||||
|
"valid users" = "bertof tiziano";
|
||||||
|
"create mask" = "0770";
|
||||||
|
"directory mask" = "2770";
|
||||||
|
"force create mode" = "0660";
|
||||||
|
"force directory mode" = "2770";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
smartd = {
|
smartd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -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,57 +244,55 @@ 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 {
|
||||||
|
bertof_raid0 = {
|
||||||
|
subvolume = "/home/bertof/raid0";
|
||||||
|
extraConfig = ''
|
||||||
|
ALLOW_USERS="bertof"
|
||||||
|
${commonExtraConfig}
|
||||||
'';
|
'';
|
||||||
in
|
|
||||||
{
|
|
||||||
bertof_raid0 = {
|
|
||||||
subvolume = "/home/bertof/raid0";
|
|
||||||
extraConfig = ''
|
|
||||||
ALLOW_USERS="bertof"
|
|
||||||
${commonExtraConfig}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
tiziano_raid0 = {
|
|
||||||
subvolume = "/home/tiziano/raid0";
|
|
||||||
extraConfig = ''
|
|
||||||
ALLOW_USERS="tiziano"
|
|
||||||
${commonExtraConfig}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
bertof_raid1 = {
|
|
||||||
subvolume = "/home/bertof/raid1";
|
|
||||||
extraConfig = ''
|
|
||||||
ALLOW_USERS="bertof"
|
|
||||||
${commonExtraConfig}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
tiziano_raid1 = {
|
|
||||||
subvolume = "/home/tiziano/raid1";
|
|
||||||
extraConfig = ''
|
|
||||||
ALLOW_USERS="tiziano"
|
|
||||||
${commonExtraConfig}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
condiviso_raid0 = {
|
|
||||||
subvolume = "/mnt/raid0/condiviso";
|
|
||||||
extraConfig = ''
|
|
||||||
ALLOW_USERS="bertof tiziano"
|
|
||||||
${commonExtraConfig}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
condiviso_raid1 = {
|
|
||||||
subvolume = "/mnt/raid1/condiviso";
|
|
||||||
extraConfig = ''
|
|
||||||
ALLOW_USERS="bertof tiziano"
|
|
||||||
${commonExtraConfig}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
tiziano_raid0 = {
|
||||||
|
subvolume = "/home/tiziano/raid0";
|
||||||
|
extraConfig = ''
|
||||||
|
ALLOW_USERS="tiziano"
|
||||||
|
${commonExtraConfig}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
bertof_raid1 = {
|
||||||
|
subvolume = "/home/bertof/raid1";
|
||||||
|
extraConfig = ''
|
||||||
|
ALLOW_USERS="bertof"
|
||||||
|
${commonExtraConfig}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
tiziano_raid1 = {
|
||||||
|
subvolume = "/home/tiziano/raid1";
|
||||||
|
extraConfig = ''
|
||||||
|
ALLOW_USERS="tiziano"
|
||||||
|
${commonExtraConfig}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
condiviso_raid0 = {
|
||||||
|
subvolume = "/mnt/raid0/condiviso";
|
||||||
|
extraConfig = ''
|
||||||
|
ALLOW_USERS="bertof tiziano"
|
||||||
|
${commonExtraConfig}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
condiviso_raid1 = {
|
||||||
|
subvolume = "/mnt/raid1/condiviso";
|
||||||
|
extraConfig = ''
|
||||||
|
ALLOW_USERS="bertof tiziano"
|
||||||
|
${commonExtraConfig}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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" ]; };
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1 @@
|
||||||
{
|
{ services.do-agent.enable = true; }
|
||||||
services.do-agent.enable = true;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -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 ];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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,41 +158,42 @@ 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_music =
|
||||||
bertof_home = recursiveUpdate common { subvolume = "/home/bertof"; };
|
recursiveUpdate common { subvolume = "/home/bertof/Musica"; };
|
||||||
bertof_music =
|
bertof_downloads =
|
||||||
recursiveUpdate common { subvolume = "/home/bertof/Musica"; };
|
recursiveUpdate common { subvolume = "/home/bertof/Scaricati"; };
|
||||||
bertof_downloads =
|
bertof_images =
|
||||||
recursiveUpdate common { subvolume = "/home/bertof/Scaricati"; };
|
recursiveUpdate common { subvolume = "/home/bertof/Immagini"; };
|
||||||
bertof_images =
|
bertof_videos =
|
||||||
recursiveUpdate common { subvolume = "/home/bertof/Immagini"; };
|
recursiveUpdate common { subvolume = "/home/bertof/Video"; };
|
||||||
bertof_videos =
|
bertof_documents =
|
||||||
recursiveUpdate common { subvolume = "/home/bertof/Video"; };
|
recursiveUpdate common { subvolume = "/home/bertof/Documenti"; };
|
||||||
bertof_documents =
|
bertof_games_ssd =
|
||||||
recursiveUpdate common { subvolume = "/home/bertof/Documenti"; };
|
recursiveUpdate common { subvolume = "/home/bertof/Giochi/SSD"; };
|
||||||
bertof_games_ssd =
|
bertof_games_sata =
|
||||||
recursiveUpdate common { subvolume = "/home/bertof/Giochi/SSD"; };
|
recursiveUpdate common { subvolume = "/home/bertof/Giochi/SATA"; };
|
||||||
bertof_games_sata =
|
# bertof_games_hdd = recursiveUpdate common { subvolume = "/home/bertof/Giochi/HDD"; };
|
||||||
recursiveUpdate common { subvolume = "/home/bertof/Giochi/SATA"; };
|
bertof_git =
|
||||||
# bertof_games_hdd = recursiveUpdate common { subvolume = "/home/bertof/Giochi/HDD"; };
|
recursiveUpdate common { subvolume = "/home/bertof/Documenti/Git"; };
|
||||||
bertof_git =
|
};
|
||||||
recursiveUpdate common { subvolume = "/home/bertof/Documenti/Git"; };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.dbus = {
|
services.dbus = {
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,111 +4,97 @@
|
||||||
{ 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
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,19 +126,17 @@ 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"
|
TIMELINE_CREATE=yes
|
||||||
TIMELINE_CREATE=yes
|
TIMELINE_CLEANUP=yes
|
||||||
TIMELINE_CLEANUP=yes
|
'';
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
bertof_home = recursiveUpdate common { subvolume = "/home/bertof"; };
|
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
bertof_home = recursiveUpdate common { subvolume = "/home/bertof"; };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
thermald.enable = true;
|
thermald.enable = true;
|
||||||
xserver = {
|
xserver = {
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue