WIP: update to 23.11

This commit is contained in:
Filippo Berto 2023-12-01 15:24:25 +01:00
parent ab9c5297fc
commit 330d7c2338
No known key found for this signature in database
GPG key ID: FE98AE5EC52B1056
22 changed files with 765 additions and 835 deletions

40
flake.lock generated
View file

@ -9,11 +9,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1696775529, "lastModified": 1701216516,
"narHash": "sha256-TYlE4B0ktPtlJJF9IFxTWrEeq+XKG8Ny0gc2FGEAdj0=", "narHash": "sha256-jKSeJn+7hZ1dZdiH1L+NWUGT2i/BGomKAJ54B9kT06Q=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "daf42cb35b2dc614d1551e37f96406e4c4a2d3e4", "rev": "13ac9ac6d68b9a0896e3d43a082947233189e247",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -237,16 +237,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1699748081, "lastModified": 1700814205,
"narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=", "narHash": "sha256-lWqDPKHRbQfi+zNIivf031BUeyciVOtwCwTjyrhDB5g=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "04bac349d585c9df38d78e0285b780a140dc74a4", "rev": "aeb2232d7a32530d3448318790534d196bf9427a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-23.05", "ref": "release-23.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -327,11 +327,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1699701045, "lastModified": 1701250978,
"narHash": "sha256-mDzUXK7jNO/utInWpSWEX1NgEEunVIpJg+LyPsDTfy0=", "narHash": "sha256-ohu3cz4edjpGxs2qUTgbs0WrnewOX4crnUJNEB6Jox4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "b689465d0c5d88e158e7d76094fca08cc0223aad", "rev": "8772491ed75f150f02552c60694e1beff9f46013",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -405,11 +405,11 @@
}, },
"nixpkgs-u": { "nixpkgs-u": {
"locked": { "locked": {
"lastModified": 1699099776, "lastModified": 1701253981,
"narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=", "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb", "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -421,16 +421,16 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1699785518, "lastModified": 1701432826,
"narHash": "sha256-QywAQ3A4dMHt1NTbHIFMXZ+bknza+JJpjxbDi5ud2+Y=", "narHash": "sha256-eTDjcynO+dWFBeUOk5qe/mUOp4ObJb7eqdjIGJIyeG0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "971ac8319468c5cfa05653f6b95d7174614720f9", "rev": "9fa06ee411556cc555a8feca5c51666f0eb3a2e0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "release-23.05", "ref": "release-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -473,11 +473,11 @@
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1699271226, "lastModified": 1700922917,
"narHash": "sha256-8Jt1KW3xTjolD6c6OjJm9USx/jmL+VVmbooADCkdDfU=", "narHash": "sha256-ej2fch/T584b5K9sk1UhmZF7W6wEfDHuoUYpFN8dtvM=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "ea758da1a6dcde6dc36db348ed690d09b9864128", "rev": "e5ee5c5f3844550c01d2131096c7271cec5e9b78",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -2,9 +2,9 @@
description = "Thor system configuration"; description = "Thor system configuration";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/release-23.05"; nixpkgs.url = "github:NixOS/nixpkgs/release-23.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-23.05"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; };
# home-manager-u = { url = "github:nix-community/home-manager"; inputs = { nixpkgs.follows = "nixpkgs-u"; }; }; # home-manager-u = { url = "github:nix-community/home-manager"; inputs = { nixpkgs.follows = "nixpkgs-u"; }; };
agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; };
@ -106,11 +106,13 @@
# Agenix configuration # Agenix configuration
agenix.nixosModules.default agenix.nixosModules.default
{ {
# age.secrets.oauth_proxy_client_credentials.file = ./secrets/oauth_proxy_client_credentials.age; age.secrets = {
age.secrets.spotify_password = { file = ./secrets/spotify_password.age; owner = "bertof"; }; # oauth_proxy_client_credentials.file = ./secrets/oauth_proxy_client_credentials.age;
age.secrets.wg_psk = { file = ./secrets/wg_psk.age; }; spotify_password = { file = ./secrets/spotify_password.age; owner = "bertof"; };
age.secrets.baldur_wg_priv = { file = ./secrets/baldur_wg_priv.age; }; wg_psk = { file = ./secrets/wg_psk.age; };
age.secrets.oppo_wg_priv = { file = ./secrets/oppo_wg_priv.age; }; baldur_wg_priv = { file = ./secrets/baldur_wg_priv.age; };
oppo_wg_priv = { file = ./secrets/oppo_wg_priv.age; };
};
} }
./modules/nixos/users/bertof.nix ./modules/nixos/users/bertof.nix

View file

@ -3,10 +3,15 @@
{ {
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" ]; boot = {
boot.initrd.kernelModules = [ ]; initrd = {
boot.kernelModules = [ "kvm-intel" ]; availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" ];
boot.extraModulePackages = [ ]; kernelModules = [ ];
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/47e1437c-ca95-45e2-a3e1-45ad10ae9474"; device = "/dev/disk/by-uuid/47e1437c-ca95-45e2-a3e1-45ad10ae9474";
@ -14,5 +19,4 @@
}; };
swapDevices = [ ]; swapDevices = [ ];
} }

View file

@ -8,7 +8,10 @@
}; };
hardware = { hardware = {
bluetooth = { enable = true; package = pkgs.bluezFull; }; bluetooth = {
enable = true;
# package = pkgs.bluezFull;
};
opengl = { enable = true; driSupport = true; }; opengl = { enable = true; driSupport = true; };
raspberry-pi."4" = { raspberry-pi."4" = {
# audio.enable = true; # AUDIO # audio.enable = true; # AUDIO

View file

@ -4,20 +4,26 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "xhci_pci" "uas" "usb_storage" ]; boot = {
boot.initrd.kernelModules = [ ]; extraModulePackages = [ ];
boot.kernelModules = [ ]; initrd = {
boot.extraModulePackages = [ ]; availableKernelModules = [ "xhci_pci" "uas" "usb_storage" ];
kernelModules = [ ];
};
kernelModules = [ ];
};
fileSystems."/" = { fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888"; device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/mnt/raid" = { "/mnt/raid" = {
device = "/dev/disk/by-uuid/d3d487e9-4ed8-4a1e-9abc-ebb0c1dc80d9"; device = "/dev/disk/by-uuid/d3d487e9-4ed8-4a1e-9abc-ebb0c1dc80d9";
fsType = "btrfs"; fsType = "btrfs";
}; };
};
swapDevices = [ ]; swapDevices = [ ];

View file

@ -39,7 +39,10 @@ with lib; {
}; };
}; };
bluetooth = { enable = true; package = pkgs.bluezFull; }; bluetooth = {
enable = true;
# package = pkgs.bluezFull;
};
}; };
i18n.defaultLocale = "it_IT.UTF-8"; i18n.defaultLocale = "it_IT.UTF-8";

View file

@ -6,45 +6,45 @@
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "uas" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot = {
boot.initrd.kernelModules = [ ]; initrd = {
boot.kernelModules = [ "kvm-intel" ]; availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "uas" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.extraModulePackages = [ ]; kernelModules = [ ];
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
fileSystems."/" = { fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/44c53e75-a00d-47bc-a99b-2544fe513e51"; device = "/dev/disk/by-uuid/44c53e75-a00d-47bc-a99b-2544fe513e51";
fsType = "btrfs"; fsType = "btrfs";
options = [ "compress=lzo" ]; options = [ "compress=lzo" ];
}; };
fileSystems."/boot" = { "/boot" = {
device = "/dev/disk/by-uuid/8A71-E5EB"; device = "/dev/disk/by-uuid/8A71-E5EB";
fsType = "vfat"; fsType = "vfat";
}; };
fileSystems."/home/bertof" = { "/home/bertof" = {
device = "/dev/disk/by-uuid/2e897ea5-c8f9-4fa8-9cc6-3f5807ba8afc"; device = "/dev/disk/by-uuid/2e897ea5-c8f9-4fa8-9cc6-3f5807ba8afc";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@bertof" "compress=lzo" ]; options = [ "subvol=@bertof" "compress=lzo" ];
}; };
fileSystems."/home/tiziano" = { "/home/tiziano" = {
device = "/dev/disk/by-uuid/2e897ea5-c8f9-4fa8-9cc6-3f5807ba8afc"; device = "/dev/disk/by-uuid/2e897ea5-c8f9-4fa8-9cc6-3f5807ba8afc";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@tiziano" "compress=lzo" ]; options = [ "subvol=@tiziano" "compress=lzo" ];
}; };
fileSystems."/mnt/condiviso" = { "/mnt/condiviso" = {
device = "/dev/disk/by-uuid/2e897ea5-c8f9-4fa8-9cc6-3f5807ba8afc"; device = "/dev/disk/by-uuid/2e897ea5-c8f9-4fa8-9cc6-3f5807ba8afc";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@condiviso" "compress=lzo" ]; options = [ "subvol=@condiviso" "compress=lzo" ];
}; };
};
# fileSystems."/var/lib/minio/data" = {
# device = "/dev/disk/by-uuid/2e897ea5-c8f9-4fa8-9cc6-3f5807ba8afc";
# fsType = "btrfs";
# options = [ "subvol=@minio" "compress=lzo" ];
# };
swapDevices = [{ swapDevices = [{
device = "/swapfile"; device = "/swapfile";

View file

@ -5,21 +5,28 @@ with lib; {
odin_wg_priv = { file = ../../secrets/odin_wg_priv.age; }; odin_wg_priv = { file = ../../secrets/odin_wg_priv.age; };
}; };
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true; boot = {
boot.loader.efi.canTouchEfiVariables = true; # kernelPackages = pkgs.linuxPackages_latest;
boot.initrd.checkJournalingFS = true; # kernelPackages = pkgs.linuxPackages_6_1;
# boot.kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "acpi_osi=Linux-Dell-Video" ];
# boot.kernelPackages = pkgs.linuxPackages_6_1; initrd.checkJournalingFS = true; # Use same ACPI identifier as Dell Ubuntu
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; loader = { systemd-boot = { enable = true; editor = false; }; efi.canTouchEfiVariables = true; };
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
# # Cross-build arm # Cross-build arm
boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
};
hardware.enableRedistributableFirmware = true; hardware = {
enableRedistributableFirmware = true;
pulseaudio.enable = false;
# Enable opengl support # Enable opengl support
hardware.opengl = { opengl = {
enable = true; enable = true;
driSupport = true; driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
@ -28,8 +35,10 @@ with lib; {
}; };
}; };
# Use same ACPI identifier as Dell Ubuntu # Tablet
boot.kernelParams = [ "acpi_osi=Linux-Dell-Video" ]; opentabletdriver = { enable = true; daemon.enable = true; };
};
networking = { networking = {
hostName = "odin"; hostName = "odin";
@ -46,59 +55,48 @@ with lib; {
# Or disable the firewall altogether. # Or disable the firewall altogether.
# firewall.enable = false; # firewall.enable = false;
wg-quick.interfaces = { # wg-quick.interfaces = {
wg0 = { # wg0 = {
autostart = false; # autostart = false;
address = [ "10.0.0.2/24" "fdc9:281f:04d7:9ee9::2/64" ]; # address = [ "10.0.0.2/24" "fdc9:281f:04d7:9ee9::2/64" ];
dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ]; # dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
privateKeyFile = config.age.secrets.odin_wg_priv.path; # privateKeyFile = config.age.secrets.odin_wg_priv.path;
peers = [ # peers = [
{ # {
# baldur # # baldur
# allowedIPs = [ "10.0.0.3/32" "fdc9:281f:04d7:9ee9::3/128" ]; # # allowedIPs = [ "10.0.0.3/32" "fdc9:281f:04d7:9ee9::3/128" ];
allowedIPs = [ "0.0.0.0/0" "::/0" ]; # allowedIPs = [ "0.0.0.0/0" "::/0" ];
endpoint = "baldur.bertof.net:51820"; # endpoint = "baldur.bertof.net:51820";
presharedKeyFile = config.age.secrets.wg_psk.path; # presharedKeyFile = config.age.secrets.wg_psk.path;
publicKey = "K57ikgFSR1O0CXWBxfQEu7uxSOsp3ePj/NMRets5pVc="; # publicKey = "K57ikgFSR1O0CXWBxfQEu7uxSOsp3ePj/NMRets5pVc=";
} # }
{ # {
# odin # # odin
publicKey = "LDBhvzeYmHJ0z5ch+N559GWjT3It1gZvGR/9WtCfURw="; # publicKey = "LDBhvzeYmHJ0z5ch+N559GWjT3It1gZvGR/9WtCfURw=";
presharedKeyFile = config.age.secrets.wg_psk.path; # presharedKeyFile = config.age.secrets.wg_psk.path;
allowedIPs = [ "10.0.0.2/24" "fdc9:281f:04d7:9ee9::2/128" ]; # allowedIPs = [ "10.0.0.2/24" "fdc9:281f:04d7:9ee9::2/128" ];
} # }
{ # {
# oppo # # oppo
publicKey = "OBk6bHKuIYLwD7cwjmAuMn57jXqbDwCL52jhQxiHnnA="; # publicKey = "OBk6bHKuIYLwD7cwjmAuMn57jXqbDwCL52jhQxiHnnA=";
presharedKeyFile = config.age.secrets.wg_psk.path; # presharedKeyFile = config.age.secrets.wg_psk.path;
allowedIPs = [ "10.0.0.3/24" "fdc9:281f:04d7:9ee9::3/128" ]; # allowedIPs = [ "10.0.0.3/24" "fdc9:281f:04d7:9ee9::3/128" ];
} # }
{ # {
# thor # # thor
publicKey = "rpwR6n4IE96VZAmQDBufsWE/a9G7d8fpkvY1OwsbOhk="; # publicKey = "rpwR6n4IE96VZAmQDBufsWE/a9G7d8fpkvY1OwsbOhk=";
presharedKeyFile = config.age.secrets.wg_psk.path; # presharedKeyFile = config.age.secrets.wg_psk.path;
allowedIPs = [ "10.0.0.4/24" "fdc9:281f:04d7:9ee9::4/128" ]; # allowedIPs = [ "10.0.0.4/24" "fdc9:281f:04d7:9ee9::4/128" ];
} # }
]; # ];
}; # };
}; # };
};
services.hardware.bolt.enable = true;
# Set your time zone.
time.timeZone = "Europe/Rome";
# Select internationalisation properties.
i18n.defaultLocale = "it_IT.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "it";
}; };
services = {
# X11 windowing system. # X11 windowing system.
services.xserver = { xserver = {
enable = true; enable = true;
# Enable the GNOME 3 Desktop Environment. # Enable the GNOME 3 Desktop Environment.
# desktopManager.gnome.enable = true; # desktopManager.gnome.enable = true;
@ -122,8 +120,18 @@ with lib; {
# }; # };
}; };
keybase.enable = true;
pipewire = {
enable = true;
pulse.enable = true;
jack.enable = true;
alsa = { enable = true; support32Bit = true; };
# media-session.enable = true;
};
# Enable CUPS to print documents. # Enable CUPS to print documents.
services.printing = { printing = {
enable = true; enable = true;
drivers = [ drivers = [
pkgs.gutenprint pkgs.gutenprint
@ -133,69 +141,41 @@ with lib; {
}; };
# Disable auto handling of power button # Disable auto handling of power button
services.logind.extraConfig = '' logind.extraConfig = ''
HandlePowerKey=ignore HandlePowerKey=ignore
''; '';
services.keybase.enable = true;
# Enable sound.
# PULSE
# sound.enable = true;
# hardware.pulseaudio.enable = true;
# PIPEWIRE
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
pulse.enable = true;
jack.enable = true;
alsa = {
enable = true;
support32Bit = true;
}; };
# media-session.enable = true;
# Set your time zone.
time.timeZone = "Europe/Rome";
# Select internationalisation properties.
i18n.defaultLocale = "it_IT.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "it";
}; };
environment.sessionVariables.LD_LIBRARY_PATH = lib.mkForce
environment = {
pathsToLink = [ "/share/zsh" ];
sessionVariables.LD_LIBRARY_PATH = lib.mkForce
"${config.services.pipewire.package.jack}/lib"; # Temporary fix for WebKitGTK "${config.services.pipewire.package.jack}/lib"; # Temporary fix for WebKitGTK
systemPackages = builtins.attrValues { inherit (pkgs) tmux helix vim git ntfs3g; };
# Tablet };
hardware.opentabletdriver = { enable = true; daemon.enable = true; };
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.bertof = { users.users.bertof = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ extraGroups = [ "audio" "input" "docker" "flashrom" "libvirtd" "network" "networkmanager" "usb" "video" "wheel" ];
"audio"
"input"
"docker"
"flashrom"
"libvirtd"
"network"
"networkmanager"
"usb"
"video"
"wheel"
];
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
# List packages installed in system profile. To search, run: programs = {
# $ nix search wget dconf.enable = true;
environment.systemPackages = builtins.attrValues { inherit (pkgs) tmux helix vim git ntfs3g; }; flashrom.enable = true;
gnupg.agent = { enable = true; enableSSHSupport = true; };
# Some programs need SUID wrappers, can be configured further or are steam = {
# started in user sessions.
# programs.mtr.enable = true;
programs.flashrom.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
programs.steam = {
enable = true; enable = true;
package = pkgs.steam.override { package = pkgs.steam.override {
extraPkgs = pkgs: with pkgs; [ icu ]; extraPkgs = pkgs: with pkgs; [ icu ];
@ -205,10 +185,10 @@ with lib; {
}; };
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
}; };
zsh.enable = true;
};
# services.joycond.enable = true; # services.joycond.enable = true;
programs.dconf.enable = true;
programs.zsh.enable = true;
services.onedrive = { enable = true; package = pkgs.unstable_pkgs.onedrive; }; services.onedrive = { enable = true; package = pkgs.unstable_pkgs.onedrive; };
@ -245,24 +225,31 @@ with lib; {
}; };
}; };
services.dbus = { hardware = {
steam-hardware.enable = true;
bluetooth = {
enable = true;
# package = pkgs.bluezFull;
};
};
services = {
hardware = {
bolt.enable = true;
};
dbus = {
packages = [ pkgs.dconf ]; packages = [ pkgs.dconf ];
implementation = "broker"; implementation = "broker";
}; };
services.gnome.gnome-keyring.enable = true; gnome.gnome-keyring.enable = true;
hardware.steam-hardware.enable = true; blueman.enable = true;
hardware.bluetooth = { gvfs = {
enable = true;
package = pkgs.bluezFull;
};
services.blueman.enable = true;
services.gvfs = {
enable = true; enable = true;
# package = lib.mkForce pkgs.gnome3.gvfs; # package = lib.mkForce pkgs.gnome3.gvfs;
}; };
services.tumbler.enable = true; tumbler.enable = true;
# services.tlp.enable = false; # tlp.enable = false;
services.avahi = { avahi = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
nssmdns = true; nssmdns = true;
@ -277,14 +264,22 @@ with lib; {
ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service";
}; };
}; };
# Power-profiles
power-profiles-daemon.enable = true;
fprintd = {
enable = true;
tod = { enable = true; driver = pkgs.libfprint-2-tod1-goodix; };
};
};
# FPRINTD # FPRINTD
# services.fprintd = { security = {
# enable = true; rtkit.enable = true;
# tod = { enable = true; driver = pkgs.libfprint-2-tod1-goodix; }; pam.services = {
# }; login.fprintAuth = true;
security.pam.services.login.fprintAuth = true; xscreensaver.fprintAuth = true;
security.pam.services.xscreensaver.fprintAuth = true; };
};
# Clamav # Clamav
# services.clamav = { # services.clamav = {
@ -292,8 +287,6 @@ with lib; {
# updater.enable = true; # updater.enable = true;
# }; # };
# Power-profiles
services.power-profiles-daemon.enable = true;
# services.teamviewer.enable = true; # services.teamviewer.enable = true;
@ -309,8 +302,6 @@ with lib; {
# virtualbox.host.enable = true; # virtualbox.host.enable = true;
}; };
# Allow completion for system packages
environment.pathsToLink = [ "/share/zsh" ];
security.sudo.extraConfig = '' security.sudo.extraConfig = ''
Defaults pwfeedback Defaults pwfeedback

View file

@ -6,88 +6,80 @@
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "sd_mod" ]; boot = {
boot.initrd.kernelModules = [ ]; initrd = {
boot.kernelModules = [ "kvm-intel" ]; availableKernelModules = [ "xhci_pci" "ahci" "nvme" "sd_mod" ];
boot.extraModulePackages = [ ]; kernelModules = [ ];
};
kernelModules = [ "kvm-intel" ];
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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/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" ];
}; };
"/boot" = {
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/82DB-3444"; device = "/dev/disk/by-uuid/82DB-3444";
fsType = "vfat"; fsType = "vfat";
}; };
};
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

View file

@ -48,7 +48,7 @@ with lib; {
opengl.enable = true; opengl.enable = true;
bluetooth = { bluetooth = {
enable = true; enable = true;
package = pkgs.bluezFull; # package = pkgs.bluezFull;
}; };
enableRedistributableFirmware = true; enableRedistributableFirmware = true;
pulseaudio.enable = false; pulseaudio.enable = false;

View file

@ -6,59 +6,39 @@
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = boot = {
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; extraModulePackages = [ ];
boot.initrd.kernelModules = [ "dm-snapshot" ]; initrd = {
boot.kernelModules = [ "kvm-amd" ]; availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.extraModulePackages = [ ]; kernelModules = [ "dm-snapshot" ];
};
fileSystems."/" = { kernelModules = [ "kvm-amd" ];
device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126";
fsType = "btrfs";
options = [
"subvol=@root"
"x-gvfs-hide"
"space_cache=v2"
"discard"
"compress-force=zstd:1"
];
}; };
fileSystems."/boot" = { fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126";
fsType = "btrfs";
options = [ "subvol=@root" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ];
};
"/boot" = {
device = "/dev/disk/by-uuid/B9D2-255C"; device = "/dev/disk/by-uuid/B9D2-255C";
fsType = "vfat"; fsType = "vfat";
}; };
"/home/bertof" = {
fileSystems."/home/bertof" = {
device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126"; device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126";
fsType = "btrfs"; fsType = "btrfs";
options = [ options = [ "subvol=@home_bertof" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ];
"subvol=@home_bertof"
"x-gvfs-hide"
"space_cache=v2"
"discard"
"compress-force=zstd:1"
];
}; };
"/nix" = {
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126"; device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126";
fsType = "btrfs"; fsType = "btrfs";
options = [ options = [ "subvol=@nix" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ];
"subvol=@nix" };
"x-gvfs-hide"
"space_cache=v2"
"discard"
"compress-force=zstd:1"
];
}; };
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;
}
]; ];
} }

View file

@ -1,7 +1,7 @@
{ pkgs, config, lib, ... }: { { pkgs, config, lib, ... }: {
home.packages = (builtins.attrValues { home.packages =
inherit (pkgs) nixpkgs-fmt nixfmt nix-prefetch-scripts nix-review nix-tree; (builtins.attrValues { inherit (pkgs) nixpkgs-fmt nixfmt nix-prefetch-scripts nixpkgs-review nix-tree; })
}) ++ lib.optionals config.programs.helix.enable [ pkgs.nil ] ++ lib.optionals config.programs.helix.enable [ pkgs.nil ]
++ lib.optionals config.programs.kakoune.enable [ pkgs.rnix-lsp ]; ++ lib.optionals config.programs.kakoune.enable [ pkgs.rnix-lsp ];
programs.neovim.plugins = [ pkgs.vimPlugins.vim-nix ]; programs.neovim.plugins = [ pkgs.vimPlugins.vim-nix ];
} }

View file

@ -1,5 +1,5 @@
{ {
programs.exa = { programs.eza = {
enable = true; enable = true;
enableAliases = true; enableAliases = true;
}; };

View file

@ -90,7 +90,8 @@ let
}; };
in in
{ {
programs.git = { programs = {
git = {
enable = true; enable = true;
userName = "Filippo Berto"; userName = "Filippo Berto";
userEmail = "berto.f@protonmail.com"; userEmail = "berto.f@protonmail.com";
@ -103,17 +104,23 @@ in
commit.gpgSign = true; commit.gpgSign = true;
core.editor = "hx"; core.editor = "hx";
# credential.helper = "git-credential-libsecret"; # credential.helper = "git-credential-libsecret";
delta.side-by-side = true; delta = {
delta.line-numbers = true; line-numbers = true;
delta.navigate = true; navigate = true;
delta.wrap-max-lines = "unlimited"; side-by-side = true;
diff.colorMoved = "default"; wrap-max-lines = "unlimited";
diff.guitool = "meld"; };
diff.tool = "meld"; diff = {
colorMoved = "default";
guitool = "meld";
tool = "meld";
};
# init.defaultBranch = "main"; # init.defaultBranch = "main";
merge.conflictstyle = "diff3"; merge = {
merge.guitool = "meld"; conflictstyle = "diff3";
merge.tool = "meld"; guitool = "meld";
tool = "meld";
};
pull.rebase = true; pull.rebase = true;
rebase.autoStash = true; rebase.autoStash = true;
user.signingKey = "berto.f@protonmail.com"; user.signingKey = "berto.f@protonmail.com";
@ -121,8 +128,8 @@ in
lfs.enable = true; lfs.enable = true;
delta.enable = true; delta.enable = true;
}; };
programs.bash.shellAliases = shellAliases; bash.shellAliases = shellAliases;
programs.zsh.shellAliases = shellAliases; zsh.shellAliases = shellAliases;
home.packages = };
builtins.attrValues { inherit (pkgs) gh git-secret glab meld; }; home.packages = builtins.attrValues { inherit (pkgs) gh git-secret glab meld; };
} }

View file

@ -1,15 +1,15 @@
{ pkgs, ... }: { { pkgs, ... }: {
programs.bash.shellAliases = { x = "hx"; }; home = {
programs.zsh.shellAliases = { x = "hx"; }; sessionVariables = { EDITOR = "hx"; VISUAL = "hx"; };
home.sessionVariables = { packages = builtins.attrValues {
EDITOR = "hx";
VISUAL = "hx";
};
home.packages = builtins.attrValues {
inherit (pkgs) nil; # Nix language server inherit (pkgs) nil; # Nix language server
# inherit desktopItem; # inherit desktopItem;
}; };
programs.helix = { };
programs = {
bash.shellAliases = { x = "hx"; };
zsh.shellAliases = { x = "hx"; };
helix = {
enable = true; enable = true;
package = pkgs.unstable_pkgs.helix; package = pkgs.unstable_pkgs.helix;
languages.language = [{ languages.language = [{
@ -81,34 +81,15 @@
base16 = { base16 = {
"ui.menu" = transparent; "ui.menu" = transparent;
"ui.menu.selected" = { modifiers = [ "reversed" ]; }; "ui.menu.selected" = { modifiers = [ "reversed" ]; };
"ui.linenr" = { "ui.linenr" = { fg = gray; bg = dark-gray; };
fg = gray;
bg = dark-gray;
};
"ui.popup" = { modifiers = [ "reversed" ]; }; "ui.popup" = { modifiers = [ "reversed" ]; };
"ui.linenr.selected" = { "ui.linenr.selected" = { fg = white; bg = black; modifiers = [ "bold" ]; };
fg = white; "ui.selection" = { fg = black; bg = blue; };
bg = black;
modifiers = [ "bold" ];
};
"ui.selection" = {
fg = black;
bg = blue;
};
"ui.selection.primary" = { modifiers = [ "reversed" ]; }; "ui.selection.primary" = { modifiers = [ "reversed" ]; };
"comment" = { fg = gray; }; "comment" = { fg = gray; };
"ui.statusline" = { "ui.statusline" = { fg = white; bg = dark-gray; };
fg = white; "ui.statusline.inactive" = { fg = dark-gray; bg = white; };
bg = dark-gray; "ui.help" = { fg = dark-gray; bg = white; };
};
"ui.statusline.inactive" = {
fg = dark-gray;
bg = white;
};
"ui.help" = {
fg = dark-gray;
bg = white;
};
"ui.cursor" = { modifiers = [ "reversed" ]; }; "ui.cursor" = { modifiers = [ "reversed" ]; };
"variable" = red; "variable" = red;
"variable.builtin" = orange; "variable.builtin" = orange;
@ -116,10 +97,7 @@
"constant" = orange; "constant" = orange;
"attributes" = yellow; "attributes" = yellow;
"type" = yellow; "type" = yellow;
"ui.cursor.match" = { "ui.cursor.match" = { fg = yellow; modifiers = [ "underlined" ]; };
fg = yellow;
modifiers = [ "underlined" ];
};
"string" = green; "string" = green;
"variable.other.member" = red; "variable.other.member" = red;
"constant.character.escape" = cyan; "constant.character.escape" = cyan;
@ -142,4 +120,5 @@
}; };
}; };
}; };
};
} }

View file

@ -63,10 +63,10 @@ let
in in
{ {
programs.bash.shellAliases = { k = "kak"; }; programs = {
programs.zsh.shellAliases = { k = "kak"; }; bash.shellAliases = { k = "kak"; };
home.packages = packages; zsh.shellAliases = { k = "kak"; };
programs.kakoune = { kakoune = {
enable = true; enable = true;
config = { config = {
colorScheme = "nord"; colorScheme = "nord";
@ -264,6 +264,9 @@ in
connect-kak connect-kak
]; ];
}; };
};
home.packages = packages;
# THEME FILE # THEME FILE
xdg.configFile."kak/colors/nord.kak".text = themeBuilder xdg.configFile."kak/colors/nord.kak".text = themeBuilder

View file

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

View file

@ -17,7 +17,8 @@ in
{ {
home.packages = builtins.attrValues { home.packages = builtins.attrValues {
inherit (pkgs) inherit (pkgs)
ardour breeze-icons carla mamba mixxx rnnoise ardour breeze-icons carla mixxx rnnoise
#mamba
# zrythm # zrythm
# Plugins # Plugins

View file

@ -5,7 +5,7 @@
programs.zsh = { programs.zsh = {
enable = true; enable = true;
autocd = true; autocd = true;
enableSyntaxHighlighting = true; syntaxHighlighting.enable = true;
plugins = [ ]; plugins = [ ];
initExtraBeforeCompInit = '' initExtraBeforeCompInit = ''
zstyle ':completion:*' menu select zstyle ':completion:*' menu select

View file

@ -1,7 +1,7 @@
{ config, ... }: { { config, ... }: {
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
nvidiaPatches = builtins.elem "nvidia" config.services.xserver.videoDrivers; enableNvidiaPatches = builtins.elem "nvidia" config.services.xserver.videoDrivers;
xwayland.enable = true; xwayland.enable = true;
}; };

View file

@ -17,11 +17,12 @@
hostName = "my-nextcloud.bertof.net"; hostName = "my-nextcloud.bertof.net";
maxUploadSize = "24G"; maxUploadSize = "24G";
caching.apcu = true; caching.apcu = true;
config.trustedProxies = [ "172.23.4.159" "fd80:56c2:e21c:f9c7:5399:93be:21a9:9fa0" "fe80::3079:d8ff:feb5:7d62" ]; config = {
config.extraTrustedDomains = [ config.services.nextcloud.hostName "freya.local" ]; trustedProxies = [ "172.23.4.159" "fd80:56c2:e21c:f9c7:5399:93be:21a9:9fa0" "fe80::3079:d8ff:feb5:7d62" ];
config.adminpassFile = config.age.secrets.nextcloud_admin_secret.path; extraTrustedDomains = [ config.services.nextcloud.hostName "freya.local" ];
config.overwriteProtocol = "https"; adminpassFile = config.age.secrets.nextcloud_admin_secret.path;
config.objectstore.s3 = { overwriteProtocol = "https";
objectstore.s3 = {
enable = true; enable = true;
bucket = "nextcloud-storage"; bucket = "nextcloud-storage";
autocreate = false; autocreate = false;
@ -34,6 +35,7 @@
usePathStyle = true; usePathStyle = true;
}; };
}; };
};
networking.firewall.allowedTCPPorts = [ 80 ]; networking.firewall.allowedTCPPorts = [ 80 ];
} }

View file

@ -1,43 +0,0 @@
{ config, lib, ... }:
let
user_keys = user:
lib.optionals (builtins.hasAttr "bertof" config.users.users)
config.users.users.${user}.openssh.authorizedKeys.keys;
in
{
# nix.buildMachines
nix.distributedBuilds = true;
nix.sshServe = {
enable = true;
keys = user_keys "bertof";
write = true;
protocol = "ssh-ng";
};
services.nix-serve = {
enable = true;
openFirewall = true;
secretKeyFile = "/etc/nix/serve";
};
nix.settings = {
trusted-users = [ "root" "nix-ssh" "@wheel" ];
trusted-public-keys = [
"odin:ukZZy//P0nBAcy4ycX8eYCByRJFOfJRlfW4sYjP/rGE="
"loki:jVAH1bQugXdQ1w29lvVknyPqWwmAn7WhjKf7z4t+q7E="
];
substituters = [
# "https://192.168.0.10"
# "https://192.168.0.100"
# "ssh-ng://loki.local"
# "ssh-ng://odin.local"
# "ssh-ng://192.168.0.10"
# "ssh-ng://192.168.0.100"
];
# trusted-substituters = [
# ];
};
}