From becab7b6f38602cdeb5900a7c3686889cdb26ff5 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 6 Apr 2022 09:44:31 +0200 Subject: [PATCH 01/80] First flake --- thor/configuration.nix | 198 ++++++++++++++++++++++++++++++++ thor/flake.lock | 65 +++++++++++ thor/flake.nix | 35 ++++++ thor/hardware-configuration.nix | 43 +++++++ 4 files changed, 341 insertions(+) create mode 100644 thor/configuration.nix create mode 100644 thor/flake.lock create mode 100644 thor/flake.nix create mode 100644 thor/hardware-configuration.nix diff --git a/thor/configuration.nix b/thor/configuration.nix new file mode 100644 index 0000000..aee7e41 --- /dev/null +++ b/thor/configuration.nix @@ -0,0 +1,198 @@ +{ config, pkgs, lib, ... }: +{ + imports = [ + # + # + ./hardware-configuration.nix + # ./pro_audio.nix + ]; + + boot = { + binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; + extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + initrd = { + checkJournalingFS = true; + luks.devices = { + root = { + device = "/dev/nvme0n1p2"; + preLVM = true; + allowDiscards = true; + }; + }; + }; + }; + + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; + + environment = { + pathsToLink = [ "/share/zsh" ]; + systemPackages = with pkgs; [ + kakoune + tmux + vim + ]; + }; + + hardware = { + bluetooth.enable = true; + enableRedistributableFirmware = true; + pulseaudio.enable = false; + # nvidia.modesetting.enable = true; + }; + + i18n.defaultLocale = "it_IT.UTF-8"; + + programs = { + dconf.enable = true; + flashrom.enable = true; + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + steam = { + enable = true; + }; + zsh = { + enable = true; + syntaxHighlighting.enable = true; + }; + }; + + networking = { + hostName = "thor"; # Define your hostname. + interfaces = { + eno1.useDHCP = true; + wlp5s0.useDHCP = true; + }; + networkmanager.enable = true; + useDHCP = false; + hosts = { + "*.engine.sesar.int" = [ "172.20.28.210" ]; + "vcenter.sesar.int" = [ "172.20.28.20" ]; + }; + }; + + time.timeZone = "Europe/Rome"; + + services = { + avahi = { + enable = true; + openFirewall = true; + nssmdns = true; + publish = { + enable = true; + addresses = true; + domain = true; + userServices = true; + workstation = true; + }; + extraServiceFiles = { + ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; + }; + }; + clamav = { daemon.enable = true; updater.enable = true; }; + dbus.packages = with pkgs; [ gnome.dconf ]; + gnome.gnome-keyring.enable = true; + gvfs = { enable = true; package = pkgs.gnome3.gvfs; }; + fwupd.enable = true; + openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; forwardX11 = true; }; + pipewire = { + enable = true; + pulse.enable = true; + jack.enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + media-session.enable = true; + }; + power-profiles-daemon.enable = true; + smartd = { enable = true; notifications.x11.enable = true; }; + snapper = { + configs = + let + common = { + extraConfig = '' + ALLOW_USERS="bertof" + TIMELINE_CREATE=yes + TIMELINE_CLEANUP=yes + ''; + }; + in + { + bertof_home = common // { subvolume = "/home/bertof"; }; + }; + }; + thermald.enable = true; + xserver = { + enable = true; + desktopManager = { + # gnome.enable = true; + # cinnamon.enable = true; + plasma5 = { + enable = true; + runUsingSystemd = true; + useQtScaling = true; + }; + }; + # displayManager.gdm = { enable = true; nvidiaWayland = true; }; + displayManager.sddm.enable = true; + layout = "us"; + videoDrivers = [ "nvidia" ]; + xkbOptions = "eurosign:e"; + }; + # gnome.gnome-remote-desktop.enable = true; + zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; + }; + + services.teamviewer.enable = true; + + security = { + rtkit.enable = true; + sudo.extraConfig = '' + Defaults pwfeedback + ''; + }; + + sound.enable = false; + + users.users.bertof = { + isNormalUser = true; + extraGroups = [ "audio" "input" "docker" "flashrom" "libvirtd" "network" "networkmanager" "usb" "video" "wheel" ]; + openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+zsSWZFFzQKnATCAvtG+iuSm4qkZHjCtHzGa9B/71W" ]; + shell = pkgs.zsh; + useDefaultShell = false; + }; + + virtualisation = { + docker.enable = true; + kvmgt.enable = true; + libvirtd.enable = true; + podman.enable = true; + virtualbox.host.enable = true; + }; + + nixpkgs.config = { + allowUnfree = true; + packageOverrides = pkgs: { + steam = pkgs.steam.override { + extraPkgs = pkgs: with pkgs; [ icu ]; + }; + }; + # cudaSupport = true; + }; + nix = { + package = pkgs.nixFlakes; + extraOptions = "experimental-features = nix-command flakes"; + gc.automatic = true; + }; + + system.stateVersion = "21.05"; # Did you read the comment? +} diff --git a/thor/flake.lock b/thor/flake.lock new file mode 100644 index 0000000..407ba3e --- /dev/null +++ b/thor/flake.lock @@ -0,0 +1,65 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1648834319, + "narHash": "sha256-i5Aj4Aw64D/A0X6XW5LxSS4XBnYj7gMz+kN4dpsbdk8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "0bdbdea2e26c984b096f4f7d10e3c88536a980b0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-21.11", + "repo": "home-manager", + "type": "github" + } + }, + "nixos-hardware": { + "locked": { + "lastModified": 1648141026, + "narHash": "sha256-h8e3+5EZFbYHTMb0DN2ACuQTJBNHpqigvmEV1w2WIuE=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "feceb4d24f582817d8f6e737cd40af9e162dee05", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixos-hardware", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1649024309, + "narHash": "sha256-AWbvj/NHZXVwAnHaVOFlxg7tcNerEKrKBmgGfztSHWM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "af0a9bc0e5341855518e9c1734d7ef913e5138b9", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-21.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/thor/flake.nix b/thor/flake.nix new file mode 100644 index 0000000..8063860 --- /dev/null +++ b/thor/flake.nix @@ -0,0 +1,35 @@ +{ + description = "Thor system configuration"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager/release-21.11"; + nixos-hardware.url = "github:NixOS/nixos-hardware"; + # nixos-hardware.inputs.nixpkgs.follows = "nixpkgs"; + }; + + outputs = { self, nixpkgs, home-manager, nixos-hardware }: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + config = { allowUnfree = true; }; + }; + lib = nixpkgs.lib; + in + { + nixosConfigurations = { + thor = lib.nixosSystem { + inherit system; + + modules = [ + nixos-hardware.nixosModules.common-cpu-amd + nixos-hardware.nixosModules.common-pc-ssd + ./configuration.nix + ]; + }; + }; + }; + +} diff --git a/thor/hardware-configuration.nix b/thor/hardware-configuration.nix new file mode 100644 index 0000000..ea39319 --- /dev/null +++ b/thor/hardware-configuration.nix @@ -0,0 +1,43 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + 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" ]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/B9D2-255C"; + fsType = "vfat"; + }; + + fileSystems."/home/bertof" = + { device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126"; + fsType = "btrfs"; + options = [ "subvol=@home_bertof" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ]; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126"; + fsType = "btrfs"; + options = [ "subvol=@nix" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/dee188e4-4ff8-417c-9419-b7f00ecb9989"; } + ]; + +} From 150ce70fbeb53fe3fb48a048616e264a5c587d1e Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 13 Apr 2022 19:36:16 +0200 Subject: [PATCH 02/80] Add odin intel config --- flake.lock | 65 +++++++++ flake.nix | 50 +++++++ odin/base.nix | 240 ++++++++++++++++++++++++++++++++ odin/hardware-configuration.nix | 87 ++++++++++++ odin/odin-intel.nix | 33 +++++ odin/odin-nvidia.nix | 36 +++++ odin/pro_audio.nix | 61 ++++++++ 7 files changed, 572 insertions(+) create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 odin/base.nix create mode 100644 odin/hardware-configuration.nix create mode 100644 odin/odin-intel.nix create mode 100644 odin/odin-nvidia.nix create mode 100644 odin/pro_audio.nix diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..8401e5d --- /dev/null +++ b/flake.lock @@ -0,0 +1,65 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1649711426, + "narHash": "sha256-tn5Hu9QkG6LhdgEOe+6cmULPeRCW0UY4o/GHU0viLu0=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "7049cf37a90e19ead7a379ce1c76dccea29450c4", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-21.11", + "repo": "home-manager", + "type": "github" + } + }, + "nixos-hardware": { + "locked": { + "lastModified": 1649849514, + "narHash": "sha256-zQyTr2UebTKUh1KLyLtevhHsM8umPK1LfQLGUGjRjiQ=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "1a0ccdbf4583ed0fce37eea7955e8ef90f840a9f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixos-hardware", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1649760692, + "narHash": "sha256-b+5Uo3yA2eFjvaGGeeLN7I3IJCxHL+jIQpB0HmBlqK4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "838eefb4f93f2306d4614aafb9b2375f315d917f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-21.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..9e8a551 --- /dev/null +++ b/flake.nix @@ -0,0 +1,50 @@ +{ + description = "Thor system configuration"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager/release-21.11"; + nixos-hardware.url = "github:NixOS/nixos-hardware"; + # nixos-hardware.inputs.nixpkgs.follows = "nixpkgs"; + }; + + outputs = { self, nixpkgs, home-manager, nixos-hardware }: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + config = { allowUnfree = true; }; + }; + lib = nixpkgs.lib; + in + { + nixosConfigurations = rec { + thor = lib.nixosSystem { + inherit system; + + modules = [ + ./thor/hardware-configuration.nix + nixos-hardware.nixosModules.common-cpu-amd + nixos-hardware.nixosModules.common-pc-ssd + ./thor/configuration.nix + ]; + }; + odin = odin-intel; + odin-intel = lib.nixosSystem { + inherit system; + + modules = [ + ./odin/hardware-configuration.nix + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-pc-laptop + nixos-hardware.nixosModules.common-pc-laptop-ssd + ./odin/base.nix + ./odin/odin-intel.nix + ./odin/pro_audio.nix + ]; + }; + }; + }; + +} diff --git a/odin/base.nix b/odin/base.nix new file mode 100644 index 0000000..26ba091 --- /dev/null +++ b/odin/base.nix @@ -0,0 +1,240 @@ +{ config, pkgs, lib, ... }: { + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.initrd.checkJournalingFS = true; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_16; + boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; + + # # Cross-build arm + boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; + + # Use same ACPI identifier as Dell Ubuntu + boot.kernelParams = [ + "acpi_osi=Linux-Dell-Video" + ]; + + networking = { + hostName = "odin"; + networkmanager.enable = true; + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + useDHCP = false; + interfaces = { enp60s0.useDHCP = true; wlp0s20f3.useDHCP = true; }; + + # Configure network proxy if necessary + # proxy.default = "http://user:password@proxy:port/"; + # proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Open ports in the firewall. + # firewall.allowedTCPPorts = [ ... ]; + # firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # firewall.enable = false; + hosts = { + "*.engine.sesar.int" = [ "172.20.28.210" ]; + "vcenter.sesar.int" = [ "159.149.147.137" ]; + }; + }; + + # Set your time zone. + time.timeZone = "Europe/Rome"; + + # Select internationalisation properties. + i18n.defaultLocale = "it_IT.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "it"; + }; + + + # X11 windowing system. + services.xserver = { + enable = true; + # Enable the GNOME 3 Desktop Environment. + # displayManager.gdm = { + # enable = true; + # wayland = true; + # nvidiaWayland = true; + # }; + desktopManager.gnome.enable = true; + # windowManager.bspwm.enable = true; + + # Configure keymap in X11 + layout = "it"; + extraLayouts = { + eng = { languages = [ "eng" ]; description = "English layout for external keyboard"; }; + }; + xkbOptions = "eurosign:e;"; + libinput.enable = true; + }; + + # Enable CUPS to print documents. + services.printing = { + enable = true; + drivers = with pkgs; [ gutenprint cups-kyocera ]; + }; + + services.fwupd.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; + }; + environment.sessionVariables.LD_LIBRARY_PATH = lib.mkForce "${config.services.pipewire.package.jack}/lib"; # Temporary fix for WebKitGTK + + # # Tablet + # hardware.opentabletdriver = { + # enable = true; + # daemon.enable = true; + # }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.bertof = { + isNormalUser = true; + extraGroups = [ "audio" "input" "docker" "flashrom" "libvirtd" "network" "usb" "video" "wheel" ]; + shell = pkgs.zsh; + openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+zsSWZFFzQKnATCAvtG+iuSm4qkZHjCtHzGa9B/71W" ]; + }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ tmux firefox kakoune vim ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + programs.flashrom.enable = true; + programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; + + programs.steam.enable = true; + programs.dconf.enable = true; + programs.zsh = { enable = true; syntaxHighlighting.enable = true; }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + services.openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; }; + + # Cooling management + services.thermald.enable = true; + + services.snapper = { + configs = + let + bertofExtraConfig = '' + ALLOW_USERS="bertof" + TIMELINE_CREATE=yes + TIMELINE_CLEANUP=yes + ''; + common = { extraConfig = bertofExtraConfig; }; + in + { + bertof_home = common // { subvolume = "/home/bertof"; }; + bertof_music = common // { subvolume = "/home/bertof/Musica"; }; + bertof_downloads = common // { subvolume = "/home/bertof/Scaricati"; }; + bertof_images = common // { subvolume = "/home/bertof/Immagini"; }; + bertof_videos = common // { subvolume = "/home/bertof/Video"; }; + bertof_documents = common // { subvolume = "/home/bertof/Documenti"; }; + bertof_games_ssd = common // { subvolume = "/home/bertof/Giochi/SSD"; }; + # bertof_games_hdd = common // { subvolume = "/home/bertof/Giochi/HDD"; }; + bertof_git = common // { subvolume = "/home/bertof/Documenti/Git"; }; + }; + }; + + services.dbus.packages = with pkgs; [ gnome.dconf ]; + services.gnome.gnome-keyring.enable = true; + hardware.bluetooth.enable = true; + # services.blueman.enable = true; + services.zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; + services.gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; }; + # services.tlp.enable = false; + services.avahi = { + enable = true; + openFirewall = true; + nssmdns = true; + publish = { + enable = true; + addresses = true; + domain = true; + userServices = true; + workstation = true; + }; + extraServiceFiles = { + ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; + }; + }; + + # SMART + services.smartd = { enable = true; notifications.x11.enable = true; }; + + # FPRINTD + # services.fprintd = { + # enable = true; + # tod = { enable = true; driver = pkgs.libfprint-2-tod1-goodix; }; + # }; + security.pam.services.login.fprintAuth = true; + security.pam.services.xscreensaver.fprintAuth = true; + + # Clamav + services.clamav = { daemon.enable = true; updater.enable = true; }; + + # Power-profiles + services.power-profiles-daemon.enable = true; + + # services.teamviewer.enable = true; + + # Virtualisation + virtualisation = { + docker.enable = true; + kvmgt.enable = true; + libvirtd.enable = true; + podman.enable = true; + virtualbox.host.enable = true; + }; + + # Allow completion for system packages + environment.pathsToLink = [ "/share/zsh" ]; + + security.sudo.extraConfig = '' + Defaults pwfeedback + ''; + security.pam.services.sddm.enableGnomeKeyring = true; + + nixpkgs.config = { + allowUnfree = true; + packageOverrides = pkgs: { + steam = pkgs.steam.override { + extraPkgs = pkgs: with pkgs; [ icu ]; + }; + }; + }; + nix = { + package = pkgs.nixFlakes; + extraOptions = lib.optionalString (config.nix.package == pkgs.nixFlakes) + "experimental-features = nix-command flakes"; + gc.automatic = true; + }; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "21.11"; # Did you read the comment? +} diff --git a/odin/hardware-configuration.nix b/odin/hardware-configuration.nix new file mode 100644 index 0000000..ac9276d --- /dev/null +++ b/odin/hardware-configuration.nix @@ -0,0 +1,87 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@root" "x-gvfs-hide" ]; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@nix" "x-gvfs-hide" ]; + }; + + fileSystems."/home/bertof" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@bertof" "x-gvfs-hide" ]; + }; + + fileSystems."/home/bertof/Giochi/SSD" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@bertof_games" "x-gvfs-hide" ]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/82DB-3444"; + fsType = "vfat"; + }; + + fileSystems."/home/bertof/Musica" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@bertof_music" "x-gvfs-hide" ]; + }; + + fileSystems."/home/bertof/Video" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@bertof_videos" "x-gvfs-hide" ]; + }; + + fileSystems."/home/bertof/Immagini" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@bertof_images" "x-gvfs-hide" ]; + }; + + fileSystems."/home/bertof/Scaricati" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@bertof_downloads" "x-gvfs-hide" ]; + }; + + fileSystems."/home/bertof/Documenti" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@bertof_documents" "x-gvfs-hide" ]; + }; + + fileSystems."/home/bertof/Documenti/Git" = + { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + fsType = "btrfs"; + options = [ "subvol=@bertof_git" "x-gvfs-hide" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/5f3cf424-2bd8-4352-a778-1bb067cb5700"; } + ]; + + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/odin/odin-intel.nix b/odin/odin-intel.nix new file mode 100644 index 0000000..240bdaf --- /dev/null +++ b/odin/odin-intel.nix @@ -0,0 +1,33 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + boot.initrd.kernelModules = [ "i915" ]; + + hardware.cpu.intel.updateMicrocode = config.hardware.enableRedistributableFirmware; + + hardware.opengl.enable = true; + hardware.opengl.extraPackages = with pkgs; [ + intel-media-driver + vaapiIntel + vaapiVdpau + libvdpau-va-gl + ]; + + services.xserver = { + displayManager.gdm = { + enable = true; + wayland = true; + }; + }; + + # This runs only Intel and nvidia does not drain power. + ##### disable nvidia for a very nice battery life. + hardware.nvidiaOptimus.disable = true; + boot.blacklistedKernelModules = [ "nouveau" "nvidia" ]; + services.xserver.videoDrivers = [ "intel" ]; + hardware.opengl.driSupport32Bit = true; +} diff --git a/odin/odin-nvidia.nix b/odin/odin-nvidia.nix new file mode 100644 index 0000000..c21ef24 --- /dev/null +++ b/odin/odin-nvidia.nix @@ -0,0 +1,36 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + imports = + [ + + + ./base.nix + ]; + + boot.initrd.kernelModules = [ "i915" ]; + + hardware.cpu.intel.updateMicrocode = config.hardware.enableRedistributableFirmware; + + services.xserver = { + videoDrivers = [ "nvidia" ]; + displayManager.sddm = { + enable = true; + autoNumlock = true; + }; + }; + + hardware.nvidia.prime = { + offload.enable = false; + sync.enable = true; + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + # hardware.nvidia.modesetting.enable = true; + # hardware.nvidia.package = pkgs.linuxPackages.nvidia_x11; + hardware.opengl.driSupport32Bit = true; +} diff --git a/odin/pro_audio.nix b/odin/pro_audio.nix new file mode 100644 index 0000000..fd2f706 --- /dev/null +++ b/odin/pro_audio.nix @@ -0,0 +1,61 @@ +{ pkgs, lib, ... }: { + boot = { + # kernelModules = [ "snd-seq" "snd-rawmidi" ]; + # kernel.sysctl = { "vm.swappiness" = 10; "fs.inotify.max_user_watches" = 524288; }; + # kernelParams = [ "threadirq" ]; + + # kernelPatches = lib.singleton { + # name = "pro_audio"; + # patch = null; + # extraConfig = '' + # PREEMPT_RT y + # PREEMPT y + # IOSCHED_DEADLINE y + # DEFAULT_DEADLINE y + # DEFAULT_IOSCHED "deadline" + # HPET_TIMER y + # CPU_FREQ n + # TREE_RCU_TRACE n + # ''; + # }; + + # postBootCommands = '' + # echo 2048 > /sys/class/rtc/rtc0/max_user_freq + # echo 2048 > /proc/sys/dev/hpet/max-user-freq + # # setpci -v -d *:* latency_timer=b0 + # # setpci -v -s $00:1b.0 latency_timer=ff + # ''; + # The SOUND_CARD_PCI_ID can be obtained like so: + # $ lspci ¦ grep -i audio + }; + + # powerManagement.cpuFreqGovernor = "performance"; + + # fileSystems."/" = { options = "noatime errors=remount-ro"; }; + + security.pam.loginLimits = [ + { domain = "@audio"; item = "memlock"; type = "-"; value = "unlimited"; } + { domain = "@audio"; item = "rtprio"; type = "-"; value = "99"; } + { domain = "@audio"; item = "nofile"; type = "soft"; value = "99999"; } + { domain = "@audio"; item = "nofile"; type = "hard"; value = "99999"; } + ]; + + # services = { + # udev = { + # packages = [ pkgs.ffado ]; # If you have a FireWire audio interface + # extraRules = '' + # KERNEL=="rtc0", GROUP="audio" + # KERNEL=="hpet", GROUP="audio" + # ''; + # }; + # cron.enable = false; + # }; + + environment.shellInit = '' + export VST_PATH=/nix/var/nix/profiles/default/lib/vst:/var/run/current-system/sw/lib/vst:~/.vst + export LXVST_PATH=/nix/var/nix/profiles/default/lib/lxvst:/var/run/current-system/sw/lib/lxvst:~/.lxvst + export LADSPA_PATH=/nix/var/nix/profiles/default/lib/ladspa:/var/run/current-system/sw/lib/ladspa:~/.ladspa + export LV2_PATH=/nix/var/nix/profiles/default/lib/lv2:/var/run/current-system/sw/lib/lv2:~/.lv2 + export DSSI_PATH=/nix/var/nix/profiles/default/lib/dssi:/var/run/current-system/sw/lib/dssi:~/.dssi + ''; +} From bbee9d79931e8bbf14a0077c634b24c05a1e9d9a Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 14 Apr 2022 00:15:30 +0200 Subject: [PATCH 03/80] Unstable config --- flake.lock | 27 ++++++++++++++++++++++----- flake.nix | 36 +++++++++++++++++++++++++++++++++--- odin/base.nix | 2 +- odin/odin-nvidia.nix | 7 ------- thor/configuration.nix | 2 +- 5 files changed, 57 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index 8401e5d..a6b2ecb 100644 --- a/flake.lock +++ b/flake.lock @@ -38,16 +38,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1649760692, - "narHash": "sha256-b+5Uo3yA2eFjvaGGeeLN7I3IJCxHL+jIQpB0HmBlqK4=", + "lastModified": 1649856708, + "narHash": "sha256-xVUExhQ3i/usCei3C4ZHUrW+8FfGV1Eo9CQmewjFd2k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "838eefb4f93f2306d4614aafb9b2375f315d917f", + "rev": "3ec9e6968fec5f13cfa7f63a32f343ac2f990637", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-21.11", + "ref": "release-21.11", "repo": "nixpkgs", "type": "github" } @@ -56,7 +56,24 @@ "inputs": { "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "unstable": "unstable" + } + }, + "unstable": { + "locked": { + "lastModified": 1649673231, + "narHash": "sha256-1T3AFscfS7s9pkFA+UIDrHH3/RLVjRdYs5ImuLYpOlE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "33772708c6d0e33f697426ba386aa0149cbcbecb", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 9e8a551..c5e0e38 100644 --- a/flake.nix +++ b/flake.nix @@ -2,20 +2,25 @@ description = "Thor system configuration"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11"; + nixpkgs.url = "github:NixOS/nixpkgs/release-21.11"; + unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager/release-21.11"; nixos-hardware.url = "github:NixOS/nixos-hardware"; # nixos-hardware.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, home-manager, nixos-hardware }: + outputs = { self, nixpkgs, unstable, home-manager, nixos-hardware }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; }; }; + unstablePkgs = import nixpkgs { + inherit system; + config = { allowUnFree = true; }; + }; lib = nixpkgs.lib; in { @@ -44,7 +49,32 @@ ./odin/pro_audio.nix ]; }; + odin-intel-unstable = unstable.lib.nixosSystem { + inherit system; + + modules = [ + ./odin/hardware-configuration.nix + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-pc-laptop + nixos-hardware.nixosModules.common-pc-laptop-ssd + ./odin/base.nix + ./odin/odin-intel.nix + ./odin/pro_audio.nix + ]; + }; + odin-nvidia-unstable = unstable.lib.nixosSystem { + inherit system; + + modules = [ + ./odin/hardware-configuration.nix + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-pc-laptop + nixos-hardware.nixosModules.common-pc-laptop-ssd + ./odin/base.nix + ./odin/odin-nvidia.nix + ./odin/pro_audio.nix + ]; + }; }; }; - } diff --git a/odin/base.nix b/odin/base.nix index 26ba091..21bac8a 100644 --- a/odin/base.nix +++ b/odin/base.nix @@ -156,7 +156,7 @@ }; }; - services.dbus.packages = with pkgs; [ gnome.dconf ]; + services.dbus.packages = with pkgs; [ dconf ]; services.gnome.gnome-keyring.enable = true; hardware.bluetooth.enable = true; # services.blueman.enable = true; diff --git a/odin/odin-nvidia.nix b/odin/odin-nvidia.nix index c21ef24..c2fd154 100644 --- a/odin/odin-nvidia.nix +++ b/odin/odin-nvidia.nix @@ -5,13 +5,6 @@ { config, pkgs, ... }: { - imports = - [ - - - ./base.nix - ]; - boot.initrd.kernelModules = [ "i915" ]; hardware.cpu.intel.updateMicrocode = config.hardware.enableRedistributableFirmware; diff --git a/thor/configuration.nix b/thor/configuration.nix index aee7e41..c35010f 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -98,7 +98,7 @@ }; }; clamav = { daemon.enable = true; updater.enable = true; }; - dbus.packages = with pkgs; [ gnome.dconf ]; + dbus.packages = with pkgs; [ dconf ]; gnome.gnome-keyring.enable = true; gvfs = { enable = true; package = pkgs.gnome3.gvfs; }; fwupd.enable = true; From df1d6df54e814ae29a4dd7cd42b3db6b07fd4d75 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 15 Apr 2022 17:16:06 +0200 Subject: [PATCH 04/80] Complete unstable configuration with home manager --- custom/lockscreen/default.nix | 10 +- custom/update-background/default.nix | 4 +- environment.nix | 15 -- flake.lock | 85 ++++++ flake.nix | 89 ++++++- modules/java.nix | 3 +- modules/kakoune.nix | 370 +++++++++++++-------------- modules/latex.nix | 2 +- modules/man.nix | 2 +- modules/office.nix | 5 +- modules/pro_audio.nix | 1 + modules/pycharm.nix | 3 +- modules/webapp.nix | 18 +- odin.nix | 105 ++++---- odin/base.nix | 6 +- odin/odin-nvidia.nix | 5 + overlays.nix | 1 + 17 files changed, 412 insertions(+), 312 deletions(-) delete mode 100644 environment.nix diff --git a/custom/lockscreen/default.nix b/custom/lockscreen/default.nix index c9e0693..66ec6fa 100644 --- a/custom/lockscreen/default.nix +++ b/custom/lockscreen/default.nix @@ -3,8 +3,7 @@ , rice , roboto , i3lock-color -, update-background -, writeScript +, writeScriptBin , font ? { package = roboto; name = "Roboto"; } , palette ? rice.palette.palette {} , ... @@ -12,7 +11,7 @@ let strPalette = rice.palette.toRGBAHex palette; in -writeScript "lockscreen.sh" '' +writeScriptBin "lockscreen" '' #!/bin/sh # Using font package ${font.package} ${i3lock-color}/bin/i3lock-color \ @@ -53,6 +52,5 @@ writeScript "lockscreen.sh" '' --pass-media-keys \ --pass-screen-keys \ --pass-volume-keys \ - --nofork && - ${update-background} -'' + --nofork + '' diff --git a/custom/update-background/default.nix b/custom/update-background/default.nix index 1a74946..cd03c54 100644 --- a/custom/update-background/default.nix +++ b/custom/update-background/default.nix @@ -5,14 +5,14 @@ , findutils , gnugrep , coreutils -, writeScript +, writeScriptBin , backgrounds_directory ? "$HOME/Immagini/Sfondi"}: let find = "${findutils}/bin/find"; grep = "${gnugrep}/bin/grep"; shuf = "${coreutils}/bin/shuf"; in -writeScript "update-background.sh" '' +writeScriptBin "update-background" '' #!/bin/sh if [ $# -eq 0 ]; then image=`${find} ${backgrounds_directory} -type f | ${grep} -v "/\." | ${shuf} -n 1` diff --git a/environment.nix b/environment.nix deleted file mode 100644 index 112b4f8..0000000 --- a/environment.nix +++ /dev/null @@ -1,15 +0,0 @@ -values: { - enableCpp = false; - enableData = false; - enableGo = false; - enableHtml = false; - enableJava = false; - enableJavascript = false; - enableLatex = false; - enableNix = false; - enablePython = false; - enableRust = false; - enableShell = false; - enableSpelling = false; - enableOffice = true; -} // values diff --git a/flake.lock b/flake.lock index a6b2ecb..d8ba2e8 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,20 @@ { "nodes": { + "flake-utils": { + "locked": { + "lastModified": 1649676176, + "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -21,6 +36,26 @@ "type": "github" } }, + "home-manager-unstable": { + "inputs": { + "nixpkgs": [ + "unstable" + ] + }, + "locked": { + "lastModified": 1649887921, + "narHash": "sha256-h2LZzn5LLwIFvVFLCdR8+VWluEP3U1I5y+0mDZjFjAk=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "92f58b6728e7c631a7ea0ed68cd21bb29a4876ff", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1649849514, @@ -54,12 +89,62 @@ }, "root": { "inputs": { + "flake-utils": "flake-utils", "home-manager": "home-manager", + "home-manager-unstable": "home-manager-unstable", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay", + "tex2nix": "tex2nix", "unstable": "unstable" } }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1649903781, + "narHash": "sha256-m+3EZo0a4iS8IwHQhkM/riPuFpu76505xKqmN9j5O+E=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "e45696bedc4a13a5970376b8fc09660fdd0e6f6c", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "tex2nix": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1646670117, + "narHash": "sha256-fU6gLOP2xm6lTRKfMKeXAm7rEhYAVR4RcRFK1zh/QTM=", + "owner": "Mic92", + "repo": "tex2nix", + "rev": "74159694f0c27ffa3f9172c6d691635568fbece4", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "tex2nix", + "type": "github" + } + }, "unstable": { "locked": { "lastModified": 1649673231, diff --git a/flake.nix b/flake.nix index c5e0e38..2d10720 100644 --- a/flake.nix +++ b/flake.nix @@ -3,32 +3,81 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/release-21.11"; + + home-manager = { + url = "github:nix-community/home-manager/release-21.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-21.11"; + + home-manager-unstable = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "unstable"; + }; + + flake-utils.url = "github:numtide/flake-utils"; + nixos-hardware.url = "github:NixOS/nixos-hardware"; - # nixos-hardware.inputs.nixpkgs.follows = "nixpkgs"; + + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; + + tex2nix = { + url = github:Mic92/tex2nix; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; }; - outputs = { self, nixpkgs, unstable, home-manager, nixos-hardware }: + outputs = + { self + , nixpkgs + , home-manager + , unstable + , home-manager-unstable + , flake-utils + , nixos-hardware + , rust-overlay + , tex2nix + }: let system = "x86_64-linux"; - pkgs = import nixpkgs { - inherit system; - config = { allowUnfree = true; }; + overlays = [ + (import ./rice.nix) + (rust-overlay.overlay) + (final: prev: { inherit (tex2nix.packages.${system}) tex2nix; }) + (final: prev: { + # cocktail-bar-cli = final.callPackage ./custom/cocktail-bar-cli { }; + # update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; + lockscreen = final.callPackage ./custom/lockscreen { + palette = final.rice.colorPalette; + font = final.rice.font.normal; + }; + }) + ]; + nixpkgsSettings = { + inherit overlays system; + config = { + allowUnfree = true; + permittedInsecurePackages = [ "electron-9.4.4" ]; # authy dependency + }; }; - unstablePkgs = import nixpkgs { - inherit system; - config = { allowUnFree = true; }; - }; - lib = nixpkgs.lib; + pkgs = import nixpkgs nixpkgsSettings; + unstablePkgs = import nixpkgs nixpkgsSettings; in { + packages.x86_64-linux = pkgs; + nixosConfigurations = rec { - thor = lib.nixosSystem { + thor = pkgs.lib.nixosSystem { inherit system; modules = [ + { nixpkgs = nixpkgsSettings; } ./thor/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-amd nixos-hardware.nixosModules.common-pc-ssd @@ -36,10 +85,12 @@ ]; }; odin = odin-intel; - odin-intel = lib.nixosSystem { + odin-intel = pkgs.lib.nixosSystem { inherit system; modules = [ + { nixpkgs = nixpkgsSettings; } + ./odin/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-pc-laptop @@ -53,6 +104,7 @@ inherit system; modules = [ + { nixpkgs = nixpkgsSettings; } ./odin/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-pc-laptop @@ -66,6 +118,7 @@ inherit system; modules = [ + { nixpkgs = nixpkgsSettings; } ./odin/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-pc-laptop @@ -73,6 +126,14 @@ ./odin/base.nix ./odin/odin-nvidia.nix ./odin/pro_audio.nix + home-manager-unstable.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + # home-manager.nixpkgs.overlays = overlays; + home-manager.users.bertof = import ./odin.nix; + # home-manager.users.bertof.home.packages = [ unstable.hello ]; + } ]; }; }; diff --git a/modules/java.nix b/modules/java.nix index 0a78d8a..242399b 100644 --- a/modules/java.nix +++ b/modules/java.nix @@ -1,4 +1,3 @@ { pkgs, ...}: -{ - programs.java.enable = pkgs.devEnvironment.enableJava ? false; +{ programs.java.enable = true; } diff --git a/modules/kakoune.nix b/modules/kakoune.nix index 82a99d8..e8e6e06 100644 --- a/modules/kakoune.nix +++ b/modules/kakoune.nix @@ -18,33 +18,33 @@ let # editorconfig-core-c python3.pkgs.editorconfig ] ++ ( - lib.optionals (pkgs.devEnvironment.enableCpp) [ + [ clang-tools ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableData) [ + [ yaml-language-server nodePackages.vscode-langservers-extracted ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableHtml) [ + [ nodePackages.vscode-langservers-extracted ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableJavascript) [ + [ flow ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableLatex) [ + [ texlab ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableNix) [ + [ rnix-lsp ] ) ++ ( with python3.pkgs; - lib.optionals (pkgs.devEnvironment.enablePython) [ + [ black # pyls-black pyls-flake8 @@ -53,7 +53,7 @@ let python-lsp-server ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableRust) [ + [ cargo cargo-watch clippy @@ -62,11 +62,11 @@ let rustfmt ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableShell) [ + [ nodePackages.bash-language-server ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableSpelling) [ + [ aspell aspellDicts.en aspellDicts.en-computers @@ -74,26 +74,15 @@ let aspellDicts.it ] ); - plugins = with pkgs; - [ - kakounePlugins.prelude-kak - kakounePlugins.kak-lsp - kakounePlugins.auto-pairs-kak - kakounePlugins.powerline-kak - kakounePlugins.connect-kak - ]; + in { home.sessionVariables = { EDITOR = "kak"; VISUAL = "kak"; }; - programs.bash.shellAliases = { - k = "kak"; - }; - programs.zsh.shellAliases = { - k = "kak"; - }; + programs.bash.shellAliases = { k = "kak"; }; + programs.zsh.shellAliases = { k = "kak"; }; home.packages = packages; programs.kakoune = { enable = true; @@ -254,7 +243,7 @@ in commands = builtins.concatStringsSep "\n" [ "powerline-enable" ]; } ] ++ ( - lib.optionals (pkgs.devEnvironment.enableLatex) [ + [ { name = "BufSetOption"; option = "filetype=latex"; @@ -262,7 +251,7 @@ in } ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enablePython) [ + [ { name = "BufSetOption"; option = "filetype=python"; @@ -270,7 +259,7 @@ in } ] ) ++ ( - lib.optionals (pkgs.devEnvironment.enableData) [ + [ { name = "BufSetOption"; option = "filetype=(markdown|html|json|yaml|css|scss|less)"; @@ -301,173 +290,164 @@ in "require-module connect-lf" "require-module connect-rofi" ]; - plugins = plugins; + plugins = with pkgs.kakounePlugins; [ + prelude-kak + kak-lsp + auto-pairs-kak + powerline-kak + connect-kak + ]; }; - xdg.configFile."kak/colors/nord.kak".text = with strPalette; - '' - set-face global value rgb:${normal.magenta},default - set-face global type rgb:${bright.white},default - set-face global identifier rgb:${normal.cyan},default - set-face global string rgb:${normal.green},default - set-face global error rgb:${normal.red},default - set-face global keyword rgb:${normal.blue},default - set-face global operator rgb:${normal.blue},default - set-face global attribute rgb:${bright.blue},default - set-face global comment rgb:${bright.blue},default - set-face global meta rgb:${normal.yellow},default - set-face global Default rgb:${normal.white},default - set-face global PrimarySelection rgb:${normal.black},rgb:${dark.yellow} - set-face global SecondarySelection rgb:${normal.black},rgb:${dark.white} - set-face global PrimaryCursor rgb:${normal.black},rgb:${normal.yellow} - set-face global SecondaryCursor rgb:${normal.black},rgb:${normal.white} - set-face global MenuForeground rgb:${normal.white},rgb:${bright.black} - set-face global MenuBackground default,rgb:${normal.black} - set-face global MenuInfo default,rgb:${normal.black} - set-face global Information rgb:${dark.black},rgb:${normal.cyan} - set-face global StatusLine rgb:${normal.white},rgb:${normal.black} - set-face global StatusLineMode rgb:${normal.blue},rgb:${normal.black} - set-face global StatusLineInfo rgb:${normal.blue},rgb:${normal.black} - set-face global StatusLineValue rgb:${normal.blue},rgb:${normal.black} - set-face global StatusCursor rgb:${dark.black},rgb:${normal.yellow} - set-face global Prompt rgb:${normal.cyan},rgb:${normal.black} - set-face global BufferPadding default,default - ''; - xdg.configFile."kak-lsp/kak-lsp.toml".text = with pkgs; - builtins.concatStringsSep "\n" ( - [ - '' - snippet_support = false - verbosity = 2 - [server] - timeout = 1800 # seconds = 30 minutes - '' - ] - ++ ( - lib.optional (pkgs.devEnvironment.enableCpp) '' - [language.c_cpp] - filetypes = ["c", "cpp"] - roots = ["compile_commands.json", ".clangd"] - command = "${clang-tools}/bin/clangd" - offset_encoding = "utf-8" - '' - ) ++ ( - lib.optional (pkgs.devEnvironment.enableData) '' - [language.json] - filetypes = ["json"] - roots = ["package.json"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-json-language-server" - args = ["--stdio"] - [language.yaml] - filetypes = ["yaml"] - roots = [".git"] - command = "${yaml-language-server}/bin/yaml-language-server" - args = ["--stdio"] - [language.yaml.settings] - # See https://github.com/redhat-developer/yaml-language-server#language-server-settings - # Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts - yaml.format.enable = true - '' - ) ++ ( - lib.optional (pkgs.devEnvironment.enableGo) '' - [language.go] - filetypes = ["go"] - roots = ["Gopkg.toml", "go.mod", ".git", ".hg"] - command = "gopls" - offset_encoding = "utf-8" - settings_section = "gopls" - [language.go.settings.gopls] - # See https://github.com/golang/tools/blob/master/gopls/doc/settings.md - # "build.buildFlags" = [] - '' - ) - ++ ( - lib.optional (pkgs.devEnvironment.enableHtml) '' - [language.html] - filetypes = ["html"] - roots = ["package.json"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-html-language-server" - args = ["--stdio"] - [language.css] - filetypes = ["css"] - roots = ["package.json", ".git"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" - args = ["--stdio"] - [language.less] - filetypes = ["less"] - roots = ["package.json", ".git"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" - args = ["--stdio"] - [language.scss] - filetypes = ["scss"] - roots = ["package.json", ".git"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" - args = ["--stdio"] - '' - ) ++ ( - lib.optional (pkgs.devEnvironment.enableJavascript) '' - [language.javascript] - filetypes = ["javascript"] - roots = [".flowconfig"] - command = "${flow}/bin/flow" - args = ["lsp"] - '' - ) ++ ( - lib.optional (pkgs.devEnvironment.enableLatex) '' - [language.latex] - filetypes = ["latex"] - roots = [".git"] - command = "${texlab}/bin/texlab" - settings_section = "texlab" - [language.latex.settings.texlab] - # See https://github.com/latex-lsp/texlab/blob/master/src/options.rs - # bibtexFormatter = "${texlab}/bin/texlab" - '' - ) ++ ( - lib.optional (pkgs.devEnvironment.enableNix) '' - [language.nix] - filetypes = ["nix"] - roots = ["flake.nix", "shell.nix", ".git"] - command = "${rnix-lsp}/bin/rnix-lsp" - '' - ) ++ ( - lib.optional (pkgs.devEnvironment.enablePython) '' - [language.python] - filetypes = ["python"] - roots = ["requirements.txt", "setup.py", ".git", ".hg"] - command = "${python3.pkgs.python-lsp-server}/bin/pylsp" - offset_encoding = "utf-8" - [language.python.settings] - # See https://github.com/palantir/python-language-server#configuration - # and https://github.com/palantir/python-language-server/blob/develop/vscode-client/package.json - # "pyls.configurationSources" = ["flake8"] - '' - ) ++ ( - lib.optional (pkgs.devEnvironment.enableRust) '' - [language.rust] - filetypes = ["rust"] - roots = ["Cargo.toml"] - command = "${rust-analyzer}/bin/rust-analyzer" - settings_section = "rust-analyzer" - [language.rust.settings.rust-analyzer] - hoverActions.enable = false # kak-lsp doesn't support this at the moment - # cargo.features = [] - # See https://rust-analyzer.github.io/manual.html#configuration - # If you get 'unresolved proc macro' warnings, you have two options - # 1. The safe choice is two disable the warning: - diagnostics.disabled = ["unresolved-proc-macro"] - # 2. Or you can opt-in for proc macro support - procMacro.enable = true - cargo.loadOutDirsFromCheck = true - # See https://github.com/rust-analyzer/rust-analyzer/issues/6448 - '' - ) ++ ( - lib.optional (pkgs.devEnvironment.enableShell) '' - [language.bash] - filetypes = ["sh"] - roots = [".git", ".hg"] - command = "${nodePackages.bash-language-server}/bin/bash-language-server" - args = ["start"] - '' - ) - ); + xdg.configFile."kak/colors/nord.kak".text = with strPalette; '' + set-face global value rgb:${normal.magenta},default + set-face global type rgb:${bright.white},default + set-face global identifier rgb:${normal.cyan},default + set-face global string rgb:${normal.green},default + set-face global error rgb:${normal.red},default + set-face global keyword rgb:${normal.blue},default + set-face global operator rgb:${normal.blue},default + set-face global attribute rgb:${bright.blue},default + set-face global comment rgb:${bright.blue},default + set-face global meta rgb:${normal.yellow},default + set-face global Default rgb:${normal.white},default + set-face global PrimarySelection rgb:${normal.black},rgb:${dark.yellow} + set-face global SecondarySelection rgb:${normal.black},rgb:${dark.white} + set-face global PrimaryCursor rgb:${normal.black},rgb:${normal.yellow} + set-face global SecondaryCursor rgb:${normal.black},rgb:${normal.white} + set-face global MenuForeground rgb:${normal.white},rgb:${bright.black} + set-face global MenuBackground default,rgb:${normal.black} + set-face global MenuInfo default,rgb:${normal.black} + set-face global Information rgb:${dark.black},rgb:${normal.cyan} + set-face global StatusLine rgb:${normal.white},rgb:${normal.black} + set-face global StatusLineMode rgb:${normal.blue},rgb:${normal.black} + set-face global StatusLineInfo rgb:${normal.blue},rgb:${normal.black} + set-face global StatusLineValue rgb:${normal.blue},rgb:${normal.black} + set-face global StatusCursor rgb:${dark.black},rgb:${normal.yellow} + set-face global Prompt rgb:${normal.cyan},rgb:${normal.black} + set-face global BufferPadding default,default + ''; + xdg.configFile."kak-lsp/kak-lsp.toml".text = with pkgs; builtins.concatStringsSep "\n" + [ + '' + snippet_support = false + verbosity = 2 + [server] + timeout = 1800 # seconds = 30 minutes + '' + '' + [language.c_cpp] + filetypes = ["c", "cpp"] + roots = ["compile_commands.json", ".clangd"] + command = "${clang-tools}/bin/clangd" + offset_encoding = "utf-8" + '' + '' + [language.json] + filetypes = ["json"] + roots = ["package.json"] + command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-json-language-server" + args = ["--stdio"] + [language.yaml] + filetypes = ["yaml"] + roots = [".git"] + command = "${yaml-language-server}/bin/yaml-language-server" + args = ["--stdio"] + [language.yaml.settings] + # See https://github.com/redhat-developer/yaml-language-server#language-server-settings + # Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts + yaml.format.enable = true + '' + '' + [language.go] + filetypes = ["go"] + roots = ["Gopkg.toml", "go.mod", ".git", ".hg"] + command = "gopls" + offset_encoding = "utf-8" + settings_section = "gopls" + [language.go.settings.gopls] + # See https://github.com/golang/tools/blob/master/gopls/doc/settings.md + # "build.buildFlags" = [] + '' + '' + [language.html] + filetypes = ["html"] + roots = ["package.json"] + command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-html-language-server" + args = ["--stdio"] + [language.css] + filetypes = ["css"] + roots = ["package.json", ".git"] + command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" + args = ["--stdio"] + [language.less] + filetypes = ["less"] + roots = ["package.json", ".git"] + command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" + args = ["--stdio"] + [language.scss] + filetypes = ["scss"] + roots = ["package.json", ".git"] + command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" + args = ["--stdio"] + '' + '' + [language.javascript] + filetypes = ["javascript"] + roots = [".flowconfig"] + command = "${flow}/bin/flow" + args = ["lsp"] + '' + '' + [language.latex] + filetypes = ["latex"] + roots = [".git"] + command = "${texlab}/bin/texlab" + settings_section = "texlab" + [language.latex.settings.texlab] + # See https://github.com/latex-lsp/texlab/blob/master/src/options.rs + # bibtexFormatter = "${texlab}/bin/texlab" + '' + '' + [language.nix] + filetypes = ["nix"] + roots = ["flake.nix", "shell.nix", ".git"] + command = "${rnix-lsp}/bin/rnix-lsp" + '' + '' + [language.python] + filetypes = ["python"] + roots = ["requirements.txt", "setup.py", ".git", ".hg"] + command = "${python3.pkgs.python-lsp-server}/bin/pylsp" + offset_encoding = "utf-8" + [language.python.settings] + # See https://github.com/palantir/python-language-server#configuration + # and https://github.com/palantir/python-language-server/blob/develop/vscode-client/package.json + # "pyls.configurationSources" = ["flake8"] + '' + '' + [language.rust] + filetypes = ["rust"] + roots = ["Cargo.toml"] + command = "${rust-analyzer}/bin/rust-analyzer" + settings_section = "rust-analyzer" + [language.rust.settings.rust-analyzer] + hoverActions.enable = false # kak-lsp doesn't support this at the moment + # cargo.features = [] + # See https://rust-analyzer.github.io/manual.html#configuration + # If you get 'unresolved proc macro' warnings, you have two options + # 1. The safe choice is two disable the warning: + diagnostics.disabled = ["unresolved-proc-macro"] + # 2. Or you can opt-in for proc macro support + procMacro.enable = true + cargo.loadOutDirsFromCheck = true + # See https://github.com/rust-analyzer/rust-analyzer/issues/6448 + '' + '' + [language.bash] + filetypes = ["sh"] + roots = [".git", ".hg"] + command = "${nodePackages.bash-language-server}/bin/bash-language-server" + args = ["start"] + '' + ]; } diff --git a/modules/latex.nix b/modules/latex.nix index 8ef3b29..3756dd5 100644 --- a/modules/latex.nix +++ b/modules/latex.nix @@ -1,6 +1,6 @@ { pkgs, lib, ...}: { - home.packages = lib.optionals pkgs.devEnvironment.enableLatex [ + home.packages = [ pkgs.texlive.combined.scheme-full ]; } diff --git a/modules/man.nix b/modules/man.nix index 801cf1e..a2507e6 100644 --- a/modules/man.nix +++ b/modules/man.nix @@ -1,6 +1,6 @@ { programs.man = { enable = true; - generateCaches = true; + # generateCaches = true; }; } diff --git a/modules/office.nix b/modules/office.nix index fd95577..3e7ef12 100644 --- a/modules/office.nix +++ b/modules/office.nix @@ -1,12 +1,11 @@ {pkgs, lib,...}: with pkgs; { - home.packages = (lib.optionals pkgs.devEnvironment.enableOffice [ + home.packages = [ # libreoffice-fresh onlyoffice-bin - ]) ++ (lib.optionals pkgs.devEnvironment.enableSpelling [ hunspellDicts.en_GB-large hunspellDicts.en_US-large hunspellDicts.it_IT - ]); + ]; } diff --git a/modules/pro_audio.nix b/modules/pro_audio.nix index 661cb74..675bfa6 100644 --- a/modules/pro_audio.nix +++ b/modules/pro_audio.nix @@ -15,6 +15,7 @@ in rnnoise ardour # zrythm + mixxx # Plugins # artyFX diff --git a/modules/pycharm.nix b/modules/pycharm.nix index c59ebcf..3f98070 100644 --- a/modules/pycharm.nix +++ b/modules/pycharm.nix @@ -2,8 +2,7 @@ { home.packages = with pkgs; [ jetbrains.pycharm-professional - python3 - pypy3 + # pypy3 ]; } diff --git a/modules/webapp.nix b/modules/webapp.nix index 96b9796..cb02f36 100644 --- a/modules/webapp.nix +++ b/modules/webapp.nix @@ -3,16 +3,16 @@ let cmd = link: "${pkgs.google-chrome}/bin/google-chrome-stable --app=${link}"; links = [ - { desktopName = "Protonmail"; link = "https://mail.protonmail.com"; categories = [ "Office" ]; icon = builtins.fetchurl "https://mail.protonmail.com/assets/coast-228x228.png"; } - { desktopName = "YouTube"; link = "https://www.youtube.com"; categories = [ "AudioVideo" ]; } - { desktopName = "Twitch"; link = "https://www.twitch.tv"; icon = builtins.fetchurl "https://static.twitchcdn.net/assets/favicon-32-e29e246c157142c94346.png"; categories = [ "AudioVideo" ]; } - { desktopName = "Netflix"; link = "https://www.netflix.com"; categories = [ "AudioVideo" ]; icon = builtins.fetchurl "https://assets.nflxext.com/us/ffe/siteui/common/icons/nficon2016.png"; } - { desktopName = "Prime Video"; link = "https://primevideo.com"; categories = [ "AudioVideo" ]; icon = builtins.fetchurl "https://m.media-amazon.com/images/G/01/digital/video/DVUI/favicons/apple-touch-icon-152x152._CB527404565_.png"; } - { desktopName = "Google Keep"; link = "https://keep.google.com"; categories = [ "Office" ]; icon = builtins.fetchurl "https://ssl.gstatic.com/keep/keep_2020q4v2.ico"; } - { desktopName = "Google Calendar"; link = "https://google.com/calendar"; categories = [ "Calendar" "Office" ]; icon = builtins.fetchurl "https://calendar.google.com/googlecalendar/images/favicons_2020q4/calendar_31_256.ico"; } - { desktopName = "Notion"; link = "https://notion.so"; categories = [ "Office" ]; icon = builtins.fetchurl "https://www.notion.so/images/logo-ios.png"; } + { desktopName = "Google Calendar"; link = "https://google.com/calendar"; categories = [ "Calendar" "Office" ]; } + { desktopName = "Google Keep"; link = "https://keep.google.com"; categories = [ "Office" ]; } + { desktopName = "Monkeytype"; link = "https://monkeytype.com/"; } + { desktopName = "Netflix"; link = "https://www.netflix.com"; categories = [ "AudioVideo" ]; } + { desktopName = "Notion"; link = "https://notion.so"; categories = [ "Office" ]; } + { desktopName = "Prime Video"; link = "https://primevideo.com"; categories = [ "AudioVideo" ]; } + { desktopName = "Protonmail"; link = "https://mail.protonmail.com"; categories = [ "Office" ]; } + { desktopName = "Twitch"; link = "https://www.twitch.tv"; categories = [ "AudioVideo" ]; } { desktopName = "WhatsApp"; link = "https://web.whatsapp.com/"; } - { desktopName = "Monkeytype"; link = "https://monkeytype.com/"; icon = builtins.fetchurl "https://monkeytype.com/images/favicon/apple-touch-icon.png"; } + { desktopName = "YouTube"; link = "https://www.youtube.com"; categories = [ "AudioVideo" ]; } ]; webAppBuilder = { desktopName diff --git a/odin.nix b/odin.nix index 528bf04..4f10195 100644 --- a/odin.nix +++ b/odin.nix @@ -1,32 +1,5 @@ { pkgs, lib, ... }: { - nixpkgs.overlays = [ - (final: prev: { - devEnvironment = (import ./environment.nix) { - enableCpp = true; - enableData = true; - enableGo = true; - enableHtml = true; - enableJavascript = true; - enableJava = true; - enableLatex = true; - enableNix = true; - enableOffice = true; - enablePython = true; - enableRust = true; - enableShell = true; - enableSpelling = true; - }; - - cocktail-bar-cli = final.callPackage ./custom/cocktail-bar-cli { }; - update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; - lockscreen = final.callPackage ./custom/lockscreen { - palette = final.rice.colorPalette; - font = final.rice.font.normal; - }; - }) - ]; - home = { language.base = "it_IT.UTF-8"; keyboard = { @@ -34,8 +7,9 @@ options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; }; packages = with pkgs; [ - pulseaudio + # pulseaudio easyeffects + tex2nix kubectl docker-compose @@ -49,32 +23,33 @@ catgirl # IRC cava discord - element-desktop + droidcam + # element-desktop # matrix client evolution file + filelight # firefox - # gallery-dl - gnome.dconf-editor - gnome.eog - gnome.evince - gnomeExtensions.appindicator - gnomeExtensions.caffeine - gnomeExtensions.dash-to-dock - # gnomeExtensions.dynamic-panel-transparency - gnomeExtensions.just-perfection - gnomeExtensions.gtile - gnomeExtensions.vitals - gnome.file-roller - gnome.gnome-screenshot + gallery-dl + # gnome.dconf-editor + # gnome.eog + # gnome.evince + # gnomeExtensions.appindicator + # gnomeExtensions.caffeine + # gnomeExtensions.dash-to-dock + # # gnomeExtensions.dynamic-panel-transparency + # gnomeExtensions.gtile + # gnomeExtensions.just-perfection + # gnomeExtensions.vitals + # gnome.file-roller + # gnome.gnome-screenshot gnome.gnome-sound-recorder gnome.gnome-sudoku - gnome.gnome-system-monitor - gnome.gnome-tweaks - gnome.nautilus - gnome.quadrapassel - gnome.seahorse - gnome.sushi - tracker + # gnome.gnome-system-monitor + # gnome.gnome-tweaks + # gnome.nautilus + # gnome.quadrapassel + # gnome.seahorse + # gnome.sushi google-chrome gucharmap htop @@ -82,28 +57,36 @@ # hyperspace-cli inkscape jetbrains.datagrip + kcolorchooser + kompare + korganizer # keepassxc + kgpg + # kid3 # tag mp3 krita - # lutris + ksystemlog + lutris meld mmv-go mpv neofetch + nixos-option nix-prefetch-scripts nix-tree - nixos-option obsidian + okular openvpn + p7zip pavucontrol pcmanfm pentablet-driver procps - p7zip ripgrep skypeforlinux spotify tdesktop teams + tracker transmission-gtk unrar unzip @@ -134,27 +117,27 @@ ./modules/dircolors.nix ./modules/direnv.nix # ./modules/dunst.nix - # ./modules/fzf.nix + ./modules/fzf.nix ./modules/git.nix ./modules/go.nix ./modules/gpg.nix - ./modules/grobi.nix + # ./modules/grobi.nix ./modules/info.nix ./modules/java.nix - # ./modules/joystickwake.nix + ./modules/joystickwake.nix ./modules/jq.nix ./modules/kakoune.nix # ./modules/keepassxc.nix - ./modules/keychain.nix + # ./modules/keychain.nix ./modules/kitty.nix ./modules/latex.nix ./modules/lf.nix ./modules/libinput-gestures.nix # ./modules/lorri.nix ./modules/man.nix - # ./modules/mangohud.nix - # ./modules/megasync.nix - # ./modules/nix-index.nix + ./modules/mangohud.nix + ./modules/megasync.nix + ./modules/nix-index.nix # ./modules/noti.nix ./modules/obs-studio.nix ./modules/office.nix @@ -172,7 +155,7 @@ ./modules/syncthing.nix ./modules/terminator.nix ./modules/tmux.nix - ./modules/update_background.nix + # ./modules/update_background.nix ./modules/webapp.nix # ./modules/xidlehook.nix ./modules/zoxide.nix @@ -189,7 +172,7 @@ # blueman-applet.enable = true; # caffeine.enable = true; # cbatticon.enable = true; - gnome-keyring.enable = true; + # gnome-keyring.enable = true; # network-manager-applet.enable = true; # playerctld.enable = true; # poweralertd.enable = true; diff --git a/odin/base.nix b/odin/base.nix index 21bac8a..46c9273 100644 --- a/odin/base.nix +++ b/odin/base.nix @@ -60,7 +60,11 @@ # wayland = true; # nvidiaWayland = true; # }; - desktopManager.gnome.enable = true; + # desktopManager.gnome.enable = true; + desktopManager.plasma5 = { + enable = true; + runUsingSystemd = true; + }; # windowManager.bspwm.enable = true; # Configure keymap in X11 diff --git a/odin/odin-nvidia.nix b/odin/odin-nvidia.nix index c2fd154..0408c8c 100644 --- a/odin/odin-nvidia.nix +++ b/odin/odin-nvidia.nix @@ -14,7 +14,12 @@ displayManager.sddm = { enable = true; autoNumlock = true; + # enableHidpi = true; }; + # displayManager.gdm = { + # enable = true; + # wayland = false; + # }; }; hardware.nvidia.prime = { diff --git a/overlays.nix b/overlays.nix index d09297c..7b0b5db 100644 --- a/overlays.nix +++ b/overlays.nix @@ -1,3 +1,4 @@ [ (import (builtins.fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz")) + ] From 438fcbd66196f1c1b1c7e0fadd1d576c8f3662f6 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 15 Apr 2022 18:54:05 +0200 Subject: [PATCH 05/80] Auto unlock kde wallet --- odin/base.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/odin/base.nix b/odin/base.nix index 46c9273..d25993d 100644 --- a/odin/base.nix +++ b/odin/base.nix @@ -218,6 +218,7 @@ Defaults pwfeedback ''; security.pam.services.sddm.enableGnomeKeyring = true; + security.pam.services.autoUnlockKwallet.enableKwallet = true; nixpkgs.config = { allowUnfree = true; From 038bde17f1ed706c71c145f91ce567392fc88c69 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sun, 17 Apr 2022 11:31:43 +0200 Subject: [PATCH 06/80] Integrate big data configuration --- flake.nix | 24 ++++ nixos_modules/big_data.nix | 276 +++++++++++++++++++++++++++++++++++++ 2 files changed, 300 insertions(+) create mode 100644 nixos_modules/big_data.nix diff --git a/flake.nix b/flake.nix index 2d10720..379ecb1 100644 --- a/flake.nix +++ b/flake.nix @@ -136,6 +136,30 @@ } ]; }; + + big-data-unstable = unstable.lib.nixosSystem { + inherit system; + + modules = [ + { nixpkgs = nixpkgsSettings; } + ./odin/hardware-configuration.nix + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-pc-laptop + nixos-hardware.nixosModules.common-pc-laptop-ssd + ./odin/base.nix + ./odin/odin-nvidia.nix + ./odin/pro_audio.nix + home-manager-unstable.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + # home-manager.nixpkgs.overlays = overlays; + home-manager.users.bertof = import ./odin.nix; + # home-manager.users.bertof.home.packages = [ unstable.hello ]; + } + ./nixos_modules/big_data.nix + ]; + }; }; }; } diff --git a/nixos_modules/big_data.nix b/nixos_modules/big_data.nix new file mode 100644 index 0000000..66f665c --- /dev/null +++ b/nixos_modules/big_data.nix @@ -0,0 +1,276 @@ +{ config, lib, pkgs, modulesPath,... }: +let + setup_scirpt = '' + sudo mkdir -p /hdfs + sudo chown -R hdfs:hadoop /hdfs + + for p in {nn,dn,jn,rm,nm,jhs,HTTP}; do + sudo kadmin.local -q "ank -randkey $p/my.engine"; + sudo kadmin.local -q "xst -k /etc/hadoop.keytab $p/my.engine"; + sudo kadmin.local -q "ktrem -k /etc/hadoop.keytab $p/my.engine old" + done + sudo chown hdfs:hadoop /etc/hadoop.keytab + + + sudo kadmin.local -q "ank -randkey spark/my.engine"; + sudo kadmin.local -q "xst -k /etc/spark.keytab spark/my.engine"; + sudo kadmin.local -q "ktrem -k /etc/spark.keytab spark/my.engine old" + sudo chown spark:spark /etc/spark.keytab + ''; + hadoop_keytab_path = "/etc/hadoop.keytab"; + spark_keytab_path = "/etc/spark.keytab"; + pysparkPackageSelector = p: with p; [ numpy pyspark ]; + pysparkEnv = pkgs.python3.withPackages pysparkPackageSelector; + hadoopConf = import (modulesPath + "/services/cluster/hadoop/conf.nix") { + inherit pkgs lib; + cfg = config.services.hadoop; + }; + hadoopConfDir = "${hadoopConf}/"; + spark = pkgs.spark.override { + extraPythonPackages = pysparkPackageSelector pkgs.python3.pkgs; + }; + sparkConfDir = pkgs.stdenv.mkDerivation { + name = "spark-conf"; + dontUnpack = true; + installPhase = '' + # source standard environment + . $stdenv/setup + + # shorthands + base_conf=${pkgs.spark}/lib/${pkgs.spark.untarDir}/conf/ + + # create output dirs for new derivation + mkdir -p $out/ + + # link unchanged files from the original gnome-session + for f in $base_conf/*.template ; do + ln -sf $f $out/ + done + + # change selected files + cp $out/log4j.properties{.template,} + + cat > $out/spark-env.sh <<- STOP + export JAVA_HOME="${pkgs.jdk8}" + export SPARK_HOME="${pkgs.spark}/lib/${pkgs.spark.untarDir}" + export SPARK_DIST_CLASSPATH=$(${pkgs.hadoop}/bin/hadoop classpath) + export PYSPARK_PYTHON="${pysparkEnv.outPath}/bin/${pysparkEnv.executable}" + export PYSPARK_DRIVER_PYTHON="${pysparkEnv.outPath}/bin/${pysparkEnv.executable}" + export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH" + export HADOOP_CONF_DIR="${hadoopConfDir}" + export SPARKR_R_SHELL="${pkgs.R}/bin/R" + export PATH="\$PATH:${pkgs.R}/bin" + STOP + + cat > $out/spark-defaults.conf <<- STOP + spark.eventLog.enabled true + spark.eventLog.dir hdfs://localhost:/logs/spark + spark.history.fs.logDirectory hdfs://localhost:/logs/spark + # spark.yarn.keytab ${spark_keytab_path} + # spark.yarn.principal spark/my.engine@MY.ENGINE + spark.history.ui.acls.enable true + spark.history.kerberos.enabled true + spark.history.kerberos.keytab ${spark_keytab_path} + spark.history.kerberos.principal spark/my.engine@MY.ENGINE + spark.yarn.appMasterEnv.PYSPARK_PYTHON ${pysparkEnv.outPath}/bin/${pysparkEnv.executable} + spark.yarn.appMasterEnv.PYTHONPATH ${pysparkEnv.outPath}/lib/${pysparkEnv.executable}/site-packages + spark.executorEnv.PYSPARK_PYTHON ${pysparkEnv.outPath}/bin/${pysparkEnv.executable} + STOP + ''; + }; +in +{ + + networking = { + hosts = { + "127.0.0.1" = [ + "ds.my.engine" + "kdc.my.engine" + "my.engine" + ]; + }; + + }; + + services = { + spark = { + package = spark; + master = { enable = true; restartIfChanged = true; }; + worker = { enable = true; restartIfChanged = true; }; + confDir = sparkConfDir; + }; + + hadoop = { + coreSite = { + "fs.defaultFS" = "hdfs://my.engine:8020"; + + # HDFS IMPERSONATION + "hadoop.proxyuser.hdfs.hosts" = "*"; + "hadoop.proxyuser.hdfs.groups" = "*"; + + # HIVE IMPERSONATION + "hadoop.proxyuser.hive.hosts" = "*"; + "hadoop.proxyuser.hive.groups" = "*"; + + # ENABLE AUTHENTICATION + "hadoop.security.authentication" = "kerberos"; + "hadoop.security.authorization" = "true"; + "hadoop.rpc.protection" = "privacy"; + + "hadoop.security.auth_to_local" = '' + RULE:[2:$1/$2@$0]([ndj]n/.*@MY\.ENGINE)s/.*/hdfs/ + RULE:[2:$1/$2@$0]([rn]m/.*@MY\.ENGINE)s/.*/yarn/ + RULE:[2:$1/$2@$0](jhs/.*@MY\.ENGINE)s/.*/mapred/ + DEFAULT + ''; + }; + hdfsSite = { + # DATA + "dfs.namenode.name.dir" = "/hdfs/dfs/name"; + "dfs.datanode.data.dir" = "/hdfs/dfs/data"; + "dfs.journalnode.edits.dir" = "/hdfs/dfs/edits"; + + # HDFS SECURITY + "dfs.block.access.token.enable" = "true"; + + # NAME NODE SECURITY + "dfs.namenode.keytab.file" = hadoop_keytab_path; + "dfs.namenode.kerberos.principal" = "nn/my.engine@MY.ENGINE"; + "dfs.namenode.kerberos.internal.spnego.principal" = "HTTP/my.engine@MY.ENGINE"; + + # SECONDARY NAME NODE SECURITY + "dfs.secondary.namenode.keytab.file" = hadoop_keytab_path; + "dfs.secondary.namenode.kerberos.principal" = "nn/my.engine@MY.ENGINE"; + "dfs.secondary.namenode.kerberos.internal.spnego.principal" = "HTTP/my.engine@MY.ENGINE"; + + # DATA NODE SECURITY + "dfs.datanode.keytab.file" = hadoop_keytab_path; + "dfs.datanode.kerberos.principal" = "dn/my.engine@MY.ENGINE"; + + # JOURNAL NODE SECURITY + "dfs.journalnode.keytab.file" = hadoop_keytab_path; + "dfs.journalnode.kerberos.principal" = "jn/my.engine@MY.ENGINE"; + + # WEBHDFS SECURITY + "dfs.webhdfs.enabled" = "true"; + + # WEB AUTHENTICATION CONFIG + "dfs.web.authentication.kerberos.principal" = "HTTP/my.engine@MY.ENGINE"; + "dfs.web.authentication.kerberos.keytab" = hadoop_keytab_path; + "ignore.secure.ports.for.testing" = "true"; + "dfs.http.policy" = "HTTP_ONLY"; + "dfs.data.transfer.protection" = "privacy"; + + # ## MULTIHOMED + # "dfs.namenode.rpc-bind-host" = "0.0.0.0"; + # "dfs.namenode.servicerpc-bind-host" = "0.0.0.0"; + # "dfs.namenode.http-bind-host" = "0.0.0.0"; + # "dfs.namenode.https-bind-host" = "0.0.0.0"; + # "dfs.client.use.datanode.hostname" = "true"; # force connection by hostname + # "dfs.datanode.use.datanode.hostname" = "true"; # force connection by hostname + }; + yarnSite = { + "yarn.nodemanager.admin-env" = "PATH=$PATH"; + "yarn.nodemanager.aux-services" = "mapreduce_shuffle"; + "yarn.nodemanager.aux-services.mapreduce_shuffle.class" = "org.apache.hadoop.mapred.ShuffleHandler"; + "yarn.nodemanager.bind-host" = "0.0.0.0"; + "yarn.nodemanager.container-executor.class" = "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor"; + "yarn.nodemanager.env-whitelist" = "JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,LANG,TZ"; + "yarn.nodemanager.linux-container-executor.group" = "hadoop"; + "yarn.nodemanager.linux-container-executor.path" = "/run/wrappers/yarn-nodemanager/bin/container-executor"; + "yarn.nodemanager.log-dirs" = "/var/log/hadoop/yarn/nodemanager"; + "yarn.resourcemanager.bind-host" = "0.0.0.0"; + "yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler"; + + "yarn.resourcemanager.keytab" = hadoop_keytab_path; + "yarn.resourcemanager.principal" = "rm/my.engine@MY.ENGINE"; + "yarn.nodemanager.keytab" = hadoop_keytab_path; + "yarn.nodemanager.principal" = "nm/my.engine@MY.ENGINE"; + + # "yarn.nodemanager.container-executor.class" = "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor"; + + "yarn.scheduler.capacity.root.queues" = "default"; + "yarn.scheduler.capacity.root.default.capacity" = 100; + # "yarn.scheduler.capacity.root.default.state" = "RUNNING"; + "yarn.scheduler.capacity.root.acl_submit_applications" = "hadoop,yarn,mapred,hdfs"; + }; + extraConfDirs = [ ]; + + hdfs = { + namenode = { enable = true; formatOnInit = true; restartIfChanged = true; }; + datanode = { enable = true; restartIfChanged = true; }; + journalnode = { enable = true; restartIfChanged = true; }; + zkfc = { enable = false; restartIfChanged = true; }; # ZOOKEEPER DISABLED, not using High Availability setup + httpfs = { enable = true; restartIfChanged = true; }; + }; + yarn = { + resourcemanager = { enable = true; restartIfChanged = true; }; + nodemanager = { enable = true; restartIfChanged = true; }; + }; + }; + + kerberos_server = { + enable = true; + realms."MY.ENGINE".acl = [ + { principal = "*/admin"; access = "all"; } + { principal = "*/my.engine"; access = "all"; } + ]; + }; + }; + + krb5 = { + enable = true; + realms = { + "MY.ENGINE" = { + admin_server = "kdc.my.engine"; + kdc = "kdc.my.engine"; + # default_domain = "my.engine"; + # kpasswd_server = "odin"; + }; + }; + domain_realm = { + # ".my.engine" = "MY.ENGINE"; + "my.engine" = "MY.ENGINE"; + }; + libdefaults = { + default_realm = "MY.ENGINE"; + dns_lookup_realm = true; + dns_lookup_kdc = true; + ticket_lifetime = "24h"; + renew_lifetime = "7d"; + forwardable = true; + }; + extraConfig = '' + [logging] + default = FILE:/var/log/krb5libs.log + kdc = FILE:/var/log/krb5kdc.log + admin_server = FILE:/var/log/kadmind.log + ''; + }; + + users.users.bertof.extraGroups = [ "hadoop" ]; + + systemd.services.spark-history = { + path = with pkgs; [ procps openssh nettools ]; + description = "spark history service."; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartIfChanged = true; + environment = { + SPARK_CONF_DIR = sparkConfDir; + SPARK_LOG_DIR = "/var/log/spark"; + }; + serviceConfig = { + Type = "forking"; + User = "spark"; + Group = "spark"; + WorkingDirectory = "${pkgs.spark}/lib/${pkgs.spark.untarDir}"; + ExecStart = "${pkgs.spark}/lib/${pkgs.spark.untarDir}/sbin/start-history-server.sh"; + ExecStop = "${pkgs.spark}/lib/${pkgs.spark.untarDir}/sbin/stop-history-server.sh"; + TimeoutSec = 300; + StartLimitBurst = 10; + Restart = "always"; + }; + }; + +} From 7e6e99a02676cf4ac6f505344822def3ef5076bf Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 19 Apr 2022 08:24:16 +0200 Subject: [PATCH 07/80] Add htpfs configuration + workaround for yarn cggroups errors --- nixos_modules/big_data.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/nixos_modules/big_data.nix b/nixos_modules/big_data.nix index 66f665c..9c88a2b 100644 --- a/nixos_modules/big_data.nix +++ b/nixos_modules/big_data.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, modulesPath,... }: +{ config, lib, pkgs, modulesPath, ... }: let setup_scirpt = '' sudo mkdir -p /hdfs @@ -132,6 +132,7 @@ in # HDFS SECURITY "dfs.block.access.token.enable" = "true"; + "dfs.cluster.administrators" = "hdfs,HTTP,bertof"; # NAME NODE SECURITY "dfs.namenode.keytab.file" = hadoop_keytab_path; @@ -194,6 +195,14 @@ in # "yarn.scheduler.capacity.root.default.state" = "RUNNING"; "yarn.scheduler.capacity.root.acl_submit_applications" = "hadoop,yarn,mapred,hdfs"; }; + httpfsSite = { + "kerberos.realm" = "MY.ENGINE"; + "httpfs.authentication.type" = "kerberos"; + "httpfs.authentication.kerberos.principal " = "HTTP/my.engine@MY.ENGINE"; + "httpfs.authentication.kerberos.keytab" = hadoop_keytab_path; + "httpfs.hadoop.kerberos.principal " = "HTTP/my.engine@MY.ENGINE"; + "httpfs.hadoop.kerberos.keytab" = hadoop_keytab_path; + }; extraConfDirs = [ ]; hdfs = { @@ -205,7 +214,7 @@ in }; yarn = { resourcemanager = { enable = true; restartIfChanged = true; }; - nodemanager = { enable = true; restartIfChanged = true; }; + nodemanager = { enable = true; restartIfChanged = true; useCGroups = false; }; }; }; From 4a3b1b9083c6e70428f13f9b39668c01338bdde3 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 19 Apr 2022 13:14:46 +0200 Subject: [PATCH 08/80] Compact configs --- flake.nix | 87 +++++++++++++++++++++++-------------------------------- 1 file changed, 36 insertions(+), 51 deletions(-) diff --git a/flake.nix b/flake.nix index 379ecb1..ac74fc4 100644 --- a/flake.nix +++ b/flake.nix @@ -68,11 +68,29 @@ }; pkgs = import nixpkgs nixpkgsSettings; unstablePkgs = import nixpkgs nixpkgsSettings; + odinBaseModules = [ + { nixpkgs = nixpkgsSettings; } + ./odin/hardware-configuration.nix + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-pc-laptop + nixos-hardware.nixosModules.common-pc-laptop-ssd + ./odin/base.nix + ./odin/pro_audio.nix + home-manager-unstable.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + # home-manager.nixpkgs.overlays = overlays; + home-manager.users.bertof = import ./odin.nix; + # home-manager.users.bertof.home.packages = [ unstable.hello ]; + } + ]; in { packages.x86_64-linux = pkgs; nixosConfigurations = rec { + thor = pkgs.lib.nixosSystem { inherit system; @@ -84,13 +102,14 @@ ./thor/configuration.nix ]; }; - odin = odin-intel; + + odin = odin-nvidia-big-data-unstable; + odin-intel = pkgs.lib.nixosSystem { inherit system; modules = [ { nixpkgs = nixpkgsSettings; } - ./odin/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-pc-laptop @@ -100,66 +119,32 @@ ./odin/pro_audio.nix ]; }; + odin-intel-unstable = unstable.lib.nixosSystem { inherit system; - - modules = [ - { nixpkgs = nixpkgsSettings; } - ./odin/hardware-configuration.nix - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-pc-laptop - nixos-hardware.nixosModules.common-pc-laptop-ssd - ./odin/base.nix - ./odin/odin-intel.nix - ./odin/pro_audio.nix - ]; + modules = odinBaseModules ++ [ ./odin/odin-intel.nix ]; }; odin-nvidia-unstable = unstable.lib.nixosSystem { inherit system; - - modules = [ - { nixpkgs = nixpkgsSettings; } - ./odin/hardware-configuration.nix - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-pc-laptop - nixos-hardware.nixosModules.common-pc-laptop-ssd - ./odin/base.nix - ./odin/odin-nvidia.nix - ./odin/pro_audio.nix - home-manager-unstable.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - # home-manager.nixpkgs.overlays = overlays; - home-manager.users.bertof = import ./odin.nix; - # home-manager.users.bertof.home.packages = [ unstable.hello ]; - } - ]; + modules = odinBaseModules ++ [ ./odin/odin-nvidia.nix ]; }; - big-data-unstable = unstable.lib.nixosSystem { + odin-intel-big-data-unstable = unstable.lib.nixosSystem { inherit system; - - modules = [ - { nixpkgs = nixpkgsSettings; } - ./odin/hardware-configuration.nix - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-pc-laptop - nixos-hardware.nixosModules.common-pc-laptop-ssd - ./odin/base.nix - ./odin/odin-nvidia.nix - ./odin/pro_audio.nix - home-manager-unstable.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - # home-manager.nixpkgs.overlays = overlays; - home-manager.users.bertof = import ./odin.nix; - # home-manager.users.bertof.home.packages = [ unstable.hello ]; - } + modules = odinBaseModules ++ [ + ./odin/odin-intel.nix ./nixos_modules/big_data.nix ]; }; + + odin-nvidia-big-data-unstable = unstable.lib.nixosSystem { + inherit system; + modules = odinBaseModules ++ [ + ./odin/odin-nvidia.nix + ./nixos_modules/big_data.nix + ]; + }; + }; }; } From 7be25d3226d32e2da8a46a744295d74059e41fc9 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 19 Apr 2022 15:54:29 +0200 Subject: [PATCH 09/80] Better thor flake --- flake.nix | 60 ++++++++++------- {odin => nixos_modules}/pro_audio.nix | 0 odin.nix | 2 +- thor.nix | 95 ++++++++++++++------------- thor/configuration.nix | 2 +- 5 files changed, 87 insertions(+), 72 deletions(-) rename {odin => nixos_modules}/pro_audio.nix (100%) diff --git a/flake.nix b/flake.nix index ac74fc4..e7c85ac 100644 --- a/flake.nix +++ b/flake.nix @@ -52,7 +52,7 @@ (final: prev: { inherit (tex2nix.packages.${system}) tex2nix; }) (final: prev: { # cocktail-bar-cli = final.callPackage ./custom/cocktail-bar-cli { }; - # update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; + update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; lockscreen = final.callPackage ./custom/lockscreen { palette = final.rice.colorPalette; font = final.rice.font.normal; @@ -75,7 +75,6 @@ nixos-hardware.nixosModules.common-pc-laptop nixos-hardware.nixosModules.common-pc-laptop-ssd ./odin/base.nix - ./odin/pro_audio.nix home-manager-unstable.nixosModules.home-manager { home-manager.useGlobalPkgs = true; @@ -85,54 +84,66 @@ # home-manager.users.bertof.home.packages = [ unstable.hello ]; } ]; + thorBaseModules = [ + { nixpkgs = nixpkgsSettings; } + ./thor/hardware-configuration.nix + nixos-hardware.nixosModules.common-cpu-amd + nixos-hardware.nixosModules.common-pc-ssd + ./thor/configuration.nix + home-manager-unstable.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + # home-manager.nixpkgs.overlays = overlays; + home-manager.users.bertof = import ./thor.nix; + # home-manager.users.bertof.home.packages = [ unstable.hello ]; + } + ]; in { - packages.x86_64-linux = pkgs; + exports = { + inherit pkgs unstablePkgs; + }; nixosConfigurations = rec { - thor = pkgs.lib.nixosSystem { + thor = unstable.lib.nixosSystem { inherit system; + modules = thorBaseModules ++ [ ./nixos_modules/pro_audio.nix ]; + }; - modules = [ - { nixpkgs = nixpkgsSettings; } - ./thor/hardware-configuration.nix - nixos-hardware.nixosModules.common-cpu-amd - nixos-hardware.nixosModules.common-pc-ssd - ./thor/configuration.nix - ]; + thor-big-data = unstable.lib.nixosSystem { + inherit system; + modules = thorBaseModules ++ [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; }; odin = odin-nvidia-big-data-unstable; - odin-intel = pkgs.lib.nixosSystem { + odin-intel = nixpkgs.lib.nixosSystem { inherit system; + modules = odinBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; + }; - modules = [ - { nixpkgs = nixpkgsSettings; } - ./odin/hardware-configuration.nix - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-pc-laptop - nixos-hardware.nixosModules.common-pc-laptop-ssd - ./odin/base.nix - ./odin/odin-intel.nix - ./odin/pro_audio.nix - ]; + odin-nvidia = nixpkgs.lib.nixosSystem { + inherit system; + modules = odinBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; }; odin-intel-unstable = unstable.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ ./odin/odin-intel.nix ]; + modules = odinBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; }; + odin-nvidia-unstable = unstable.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ ./odin/odin-nvidia.nix ]; + modules = odinBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; }; odin-intel-big-data-unstable = unstable.lib.nixosSystem { inherit system; modules = odinBaseModules ++ [ ./odin/odin-intel.nix + ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; }; @@ -141,6 +152,7 @@ inherit system; modules = odinBaseModules ++ [ ./odin/odin-nvidia.nix + ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; }; diff --git a/odin/pro_audio.nix b/nixos_modules/pro_audio.nix similarity index 100% rename from odin/pro_audio.nix rename to nixos_modules/pro_audio.nix diff --git a/odin.nix b/odin.nix index 4f10195..56b6e91 100644 --- a/odin.nix +++ b/odin.nix @@ -128,7 +128,7 @@ ./modules/jq.nix ./modules/kakoune.nix # ./modules/keepassxc.nix - # ./modules/keychain.nix + ./modules/keychain.nix ./modules/kitty.nix ./modules/latex.nix ./modules/lf.nix diff --git a/thor.nix b/thor.nix index 095be58..7c25526 100644 --- a/thor.nix +++ b/thor.nix @@ -1,32 +1,5 @@ { pkgs, lib, ... }: { - nixpkgs.overlays = [ - (final: prev: { - devEnvironment = (import ./environment.nix) { - enableCpp = true; - enableData = true; - enableGo = true; - enableHtml = true; - enableJavascript = true; - enableJava = true; - enableLatex = true; - enableNix = true; - enableOffice = true; - enablePython = true; - enableRust = true; - enableShell = true; - enableSpelling = true; - }; - - cocktail-bar-cli = final.callPackage ./custom/cocktail-bar-cli { }; - update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; - lockscreen = final.callPackage ./custom/lockscreen { - palette = final.rice.colorPalette; - font = final.rice.font.normal; - }; - }) - ]; - home = { language.base = "it_IT.UTF-8"; keyboard = { @@ -34,13 +7,9 @@ options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; }; packages = with pkgs; [ - pulseaudio + # pulseaudio easyeffects - kubectl - docker-compose - docker-machine - arandr ark authy @@ -50,22 +19,41 @@ catgirl # IRC cava discord + docker-compose + docker-machine + droidcam # electrum - element-desktop + # element-desktop + # element-desktop # matrix client evolution file + filelight # firefox freecad gallery-dl - gnome.gnome-calendar - gnome.geary - gnomeExtensions.appindicator - gnomeExtensions.caffeine - gnomeExtensions.dash-to-dock + # gnome.dconf-editor + # gnome.eog + # gnome.evince + # gnomeExtensions.appindicator + # gnomeExtensions.caffeine + # gnomeExtensions.dash-to-dock + # # gnomeExtensions.dynamic-panel-transparency # gnomeExtensions.dynamic-panel-transparency - gnomeExtensions.just-perfection - gnomeExtensions.gtile - gnomeExtensions.vitals + # gnomeExtensions.gtile + # gnomeExtensions.just-perfection + # gnomeExtensions.vitals + # gnome.file-roller + gnome.geary + gnome.gnome-calendar + # gnome.gnome-screenshot + gnome.gnome-sound-recorder + gnome.gnome-sudoku + # gnome.gnome-system-monitor + # gnome.gnome-tweaks + # gnome.nautilus + # gnome.quadrapassel + # gnome.seahorse + # gnome.sushi google-chrome gucharmap handbrake @@ -74,23 +62,34 @@ # hyperspace-cli inkscape jetbrains.datagrip + kcolorchooser kdiff3 + # keepassxc + kgpg + # kid3 # tag mp3 kmail + kompare kontact korganizer krita + ksystemlog + kubectl lutris + meld minecraft mmv-go mpv mycrypto neofetch + nixos-option nix-prefetch-scripts nix-tree obsidian okular openvpn + p7zip pavucontrol + pcmanfm pentablet-driver procps ripgrep @@ -99,14 +98,18 @@ spotify tdesktop teams + tracker transmission-gtk unrar + unzip virt-manager wget # wineFull wireguard-tools xclip xournalpp + yq + zip zoom-us zotero @@ -136,11 +139,11 @@ ./modules/dircolors.nix ./modules/direnv.nix # ./modules/dunst.nix - # ./modules/fzf.nix + ./modules/fzf.nix ./modules/git.nix ./modules/go.nix ./modules/gpg.nix - ./modules/grobi.nix + # ./modules/grobi.nix ./modules/info.nix ./modules/java.nix ./modules/joystickwake.nix @@ -162,7 +165,7 @@ ./modules/onedrive.nix # ./modules/picom.nix # ./modules/polybar.nix - # ./modules/pycharm.nix + ./modules/pycharm.nix ./modules/gtk_theme.nix ./modules/rofi.nix ./modules/rofimoji.nix @@ -173,7 +176,7 @@ ./modules/syncthing.nix ./modules/terminator.nix ./modules/tmux.nix - ./modules/update_background.nix + # ./modules/update_background.nix ./modules/webapp.nix # ./modules/xidlehook.nix ./modules/zoxide.nix @@ -190,7 +193,7 @@ # blueman-applet.enable = true; # caffeine.enable = true; # cbatticon.enable = true; - gnome-keyring.enable = true; + # gnome-keyring.enable = true; # network-manager-applet.enable = true; # playerctld.enable = true; # poweralertd.enable = true; diff --git a/thor/configuration.nix b/thor/configuration.nix index c35010f..e3bfe30 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -111,7 +111,7 @@ enable = true; support32Bit = true; }; - media-session.enable = true; + # media-session.enable = true; }; power-profiles-daemon.enable = true; smartd = { enable = true; notifications.x11.enable = true; }; From 35e4fe5582be5a6beea55ec4e9e21be13d5d691d Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 21 Apr 2022 19:44:46 +0200 Subject: [PATCH 10/80] Modules unification --- flake.nix | 50 ++++++++++++++++++++++++++++++++----------- modules/pro_audio.nix | 2 +- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/flake.nix b/flake.nix index e7c85ac..5baf5d5 100644 --- a/flake.nix +++ b/flake.nix @@ -68,6 +68,7 @@ }; pkgs = import nixpkgs nixpkgsSettings; unstablePkgs = import nixpkgs nixpkgsSettings; + odinBaseModules = [ { nixpkgs = nixpkgsSettings; } ./odin/hardware-configuration.nix @@ -81,24 +82,40 @@ home-manager.useUserPackages = true; # home-manager.nixpkgs.overlays = overlays; home-manager.users.bertof = import ./odin.nix; - # home-manager.users.bertof.home.packages = [ unstable.hello ]; } ]; + + odinStableBaseModules = odinBaseModules ++ [ + home-manager.nixosModules.home-manager + ]; + + odinUnstableBaseModules = odinBaseModules ++ [ + home-manager-unstable.nixosModules.home-manager + ]; + + thorBaseModules = [ { nixpkgs = nixpkgsSettings; } ./thor/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-amd nixos-hardware.nixosModules.common-pc-ssd - ./thor/configuration.nix - home-manager-unstable.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; # home-manager.nixpkgs.overlays = overlays; home-manager.users.bertof = import ./thor.nix; - # home-manager.users.bertof.home.packages = [ unstable.hello ]; } + ./thor/configuration.nix ]; + + thorStableBaseModules = thorBaseModules ++ [ + home-manager.nixosModules.home-manager + ]; + + thorUnstableBaseModules = thorBaseModules ++ [ + home-manager-unstable.nixosModules.home-manager + ]; + in { exports = { @@ -107,41 +124,48 @@ nixosConfigurations = rec { - thor = unstable.lib.nixosSystem { + thor = thor-unstable; + + thor-stable = nixpkgs.lib.nixosSystem { inherit system; - modules = thorBaseModules ++ [ ./nixos_modules/pro_audio.nix ]; + modules = thorStableBaseModules ++ [ ./nixos_modules/pro_audio.nix ]; + }; + + thor-unstable = unstable.lib.nixosSystem { + inherit system; + modules = thorUnstableBaseModules ++ [ ./nixos_modules/pro_audio.nix ]; }; thor-big-data = unstable.lib.nixosSystem { inherit system; - modules = thorBaseModules ++ [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; + modules = thorUnstableBaseModules ++ [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; }; odin = odin-nvidia-big-data-unstable; odin-intel = nixpkgs.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; + modules = odinStableBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; }; odin-nvidia = nixpkgs.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; + modules = odinStableBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; }; odin-intel-unstable = unstable.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; + modules = odinUnstableBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; }; odin-nvidia-unstable = unstable.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; + modules = odinUnstableBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; }; odin-intel-big-data-unstable = unstable.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ + modules = odinUnstableBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix @@ -150,7 +174,7 @@ odin-nvidia-big-data-unstable = unstable.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ + modules = odinUnstableBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix diff --git a/modules/pro_audio.nix b/modules/pro_audio.nix index 675bfa6..92b9044 100644 --- a/modules/pro_audio.nix +++ b/modules/pro_audio.nix @@ -21,7 +21,7 @@ in # artyFX autotalent boops - cardinal + # cardinal geonkick helm (lsp-plugins.overrideAttrs (old: { version = "1.2.0"; })) From 29b7bd2ffdf2f3c161d46b111edb5b4f922a2d57 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 21 Apr 2022 21:24:41 +0200 Subject: [PATCH 11/80] Default to odin unstable + cleanup --- flake.nix | 2 +- odin.nix | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 5baf5d5..d9426d2 100644 --- a/flake.nix +++ b/flake.nix @@ -141,7 +141,7 @@ modules = thorUnstableBaseModules ++ [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; }; - odin = odin-nvidia-big-data-unstable; + odin = odin-intel-unstable; odin-intel = nixpkgs.lib.nixosSystem { inherit system; diff --git a/odin.nix b/odin.nix index 56b6e91..1b00a47 100644 --- a/odin.nix +++ b/odin.nix @@ -25,7 +25,7 @@ discord droidcam # element-desktop # matrix client - evolution + # evolution file filelight # firefox @@ -57,6 +57,14 @@ # hyperspace-cli inkscape jetbrains.datagrip + kmail + kompare + kontact + korganizer + krita + ksystemlog + kubectl + lutris kcolorchooser kompare korganizer From d80dde45af3e89c750e1713bede1df17007ba8c2 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 21 Apr 2022 21:58:19 +0200 Subject: [PATCH 12/80] Flake abstraction --- flake.nix | 127 +++++++++++++++++++++--------------------------------- 1 file changed, 48 insertions(+), 79 deletions(-) diff --git a/flake.nix b/flake.nix index d9426d2..125724b 100644 --- a/flake.nix +++ b/flake.nix @@ -69,6 +69,13 @@ pkgs = import nixpkgs nixpkgsSettings; unstablePkgs = import nixpkgs nixpkgsSettings; + homeManagerSettings = { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + }; + }; + odinBaseModules = [ { nixpkgs = nixpkgsSettings; } ./odin/hardware-configuration.nix @@ -76,45 +83,51 @@ nixos-hardware.nixosModules.common-pc-laptop nixos-hardware.nixosModules.common-pc-laptop-ssd ./odin/base.nix - home-manager-unstable.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - # home-manager.nixpkgs.overlays = overlays; - home-manager.users.bertof = import ./odin.nix; - } ]; - odinStableBaseModules = odinBaseModules ++ [ - home-manager.nixosModules.home-manager - ]; - - odinUnstableBaseModules = odinBaseModules ++ [ - home-manager-unstable.nixosModules.home-manager - ]; - - thorBaseModules = [ { nixpkgs = nixpkgsSettings; } ./thor/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-amd nixos-hardware.nixosModules.common-pc-ssd - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - # home-manager.nixpkgs.overlays = overlays; - home-manager.users.bertof = import ./thor.nix; - } ./thor/configuration.nix ]; - thorStableBaseModules = thorBaseModules ++ [ - home-manager.nixosModules.home-manager - ]; + odinStable = extraModules: nixpkgs.lib.nixosSystem { + inherit system; + modules = odinBaseModules ++ [ + home-manager.nixosModules.home-manager + homeManagerSettings + { home-manager.users.bertof = import ./odin.nix; } + ] ++ extraModules; + }; - thorUnstableBaseModules = thorBaseModules ++ [ - home-manager-unstable.nixosModules.home-manager - ]; + odinUnstable = extraModules: unstable.lib.nixosSystem { + inherit system; + modules = odinBaseModules ++ [ + home-manager-unstable.nixosModules.home-manager + homeManagerSettings + { home-manager.users.bertof = import ./odin.nix; } + ] ++ extraModules; + }; + + thorStable = extraModules: nixpkgs.lib.nixosSystem { + inherit system; + modules = odinBaseModules ++ [ + home-manager.nixosModules.home-manager + homeManagerSettings + { home-manager.users.bertof = import ./thor.nix; } + ] ++ extraModules; + }; + + thorUnstable = extraModules: unstable.lib.nixosSystem { + inherit system; + modules = odinBaseModules ++ [ + home-manager-unstable.nixosModules.home-manager + homeManagerSettings + { home-manager.users.bertof = import ./thor.nix; } + ] ++ extraModules; + }; in { @@ -126,60 +139,16 @@ thor = thor-unstable; - thor-stable = nixpkgs.lib.nixosSystem { - inherit system; - modules = thorStableBaseModules ++ [ ./nixos_modules/pro_audio.nix ]; - }; - - thor-unstable = unstable.lib.nixosSystem { - inherit system; - modules = thorUnstableBaseModules ++ [ ./nixos_modules/pro_audio.nix ]; - }; - - thor-big-data = unstable.lib.nixosSystem { - inherit system; - modules = thorUnstableBaseModules ++ [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; - }; + thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ]; + thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ]; + thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; odin = odin-intel-unstable; - odin-intel = nixpkgs.lib.nixosSystem { - inherit system; - modules = odinStableBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; - }; - - odin-nvidia = nixpkgs.lib.nixosSystem { - inherit system; - modules = odinStableBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; - }; - - odin-intel-unstable = unstable.lib.nixosSystem { - inherit system; - modules = odinUnstableBaseModules ++ [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; - }; - - odin-nvidia-unstable = unstable.lib.nixosSystem { - inherit system; - modules = odinUnstableBaseModules ++ [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; - }; - - odin-intel-big-data-unstable = unstable.lib.nixosSystem { - inherit system; - modules = odinUnstableBaseModules ++ [ - ./odin/odin-intel.nix - ./nixos_modules/pro_audio.nix - ./nixos_modules/big_data.nix - ]; - }; - - odin-nvidia-big-data-unstable = unstable.lib.nixosSystem { - inherit system; - modules = odinUnstableBaseModules ++ [ - ./odin/odin-nvidia.nix - ./nixos_modules/pro_audio.nix - ./nixos_modules/big_data.nix - ]; - }; + odin-intel-unstable = odinUnstable [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; + odin-nvidia-unstable = odinUnstable [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; + odin-intel-stable = odinStable [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; + odin-nvidia-stable = odinStable [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; }; }; From 626893fa507185e3beafd47bedd0e145e74ab753 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 27 Apr 2022 16:14:49 +0200 Subject: [PATCH 13/80] Updates to thor configs + home-manager --- flake.lock | 36 ++++++++++++++++++------------------ flake.nix | 9 ++++----- modules/pro_audio.nix | 2 +- modules/webapp.nix | 2 +- thor.nix | 19 ++++++++++--------- 5 files changed, 34 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index d8ba2e8..c6c1af8 100644 --- a/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ ] }, "locked": { - "lastModified": 1649711426, - "narHash": "sha256-tn5Hu9QkG6LhdgEOe+6cmULPeRCW0UY4o/GHU0viLu0=", + "lastModified": 1649887911, + "narHash": "sha256-Af0Ppb1RZ7HWuxUvF0/O7h3cy8tqU2eKFyVwyA1ZD+w=", "owner": "nix-community", "repo": "home-manager", - "rev": "7049cf37a90e19ead7a379ce1c76dccea29450c4", + "rev": "7244c6715cb8f741f3b3e1220a9279e97b2ed8f5", "type": "github" }, "original": { @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1649887921, - "narHash": "sha256-h2LZzn5LLwIFvVFLCdR8+VWluEP3U1I5y+0mDZjFjAk=", + "lastModified": 1650478719, + "narHash": "sha256-308c2cM4hW9AW6dSQ080ycXGyEJGkG/OwOINkYL9Mnw=", "owner": "nix-community", "repo": "home-manager", - "rev": "92f58b6728e7c631a7ea0ed68cd21bb29a4876ff", + "rev": "93a69d07389311ffd6ce1f4d01836bbc2faec644", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1649849514, - "narHash": "sha256-zQyTr2UebTKUh1KLyLtevhHsM8umPK1LfQLGUGjRjiQ=", + "lastModified": 1650522846, + "narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "1a0ccdbf4583ed0fce37eea7955e8ef90f840a9f", + "rev": "6b4ebea9093c997c5f275c820e679108de4871ab", "type": "github" }, "original": { @@ -73,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1649856708, - "narHash": "sha256-xVUExhQ3i/usCei3C4ZHUrW+8FfGV1Eo9CQmewjFd2k=", + "lastModified": 1650610227, + "narHash": "sha256-ofSO6FrMfC8+wmYy6ItxOfXpN0E6sumnQYQCauMjKvM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ec9e6968fec5f13cfa7f63a32f343ac2f990637", + "rev": "692729210d05e0ae2f33edfc072318520dd12666", "type": "github" }, "original": { @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1649903781, - "narHash": "sha256-m+3EZo0a4iS8IwHQhkM/riPuFpu76505xKqmN9j5O+E=", + "lastModified": 1650595807, + "narHash": "sha256-kpmnW7CS6t6nkFZbQZlmVKIZTg+/XqglUXBD8DH+BLk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "e45696bedc4a13a5970376b8fc09660fdd0e6f6c", + "rev": "9bf4a3706c99662e9a80cbd655c2b918ba3d5eaf", "type": "github" }, "original": { @@ -147,11 +147,11 @@ }, "unstable": { "locked": { - "lastModified": 1649673231, - "narHash": "sha256-1T3AFscfS7s9pkFA+UIDrHH3/RLVjRdYs5ImuLYpOlE=", + "lastModified": 1650161686, + "narHash": "sha256-70ZWAlOQ9nAZ08OU6WY7n4Ij2kOO199dLfNlvO/+pf8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "33772708c6d0e33f697426ba386aa0149cbcbecb", + "rev": "1ffba9f2f683063c2b14c9f4d12c55ad5f4ed887", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 125724b..93db66f 100644 --- a/flake.nix +++ b/flake.nix @@ -58,6 +58,7 @@ font = final.rice.font.normal; }; }) + (final: prev: { unstable = unstablePkgs; }) ]; nixpkgsSettings = { inherit overlays system; @@ -113,7 +114,7 @@ thorStable = extraModules: nixpkgs.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ + modules = thorBaseModules ++ [ home-manager.nixosModules.home-manager homeManagerSettings { home-manager.users.bertof = import ./thor.nix; } @@ -122,7 +123,7 @@ thorUnstable = extraModules: unstable.lib.nixosSystem { inherit system; - modules = odinBaseModules ++ [ + modules = thorBaseModules ++ [ home-manager-unstable.nixosModules.home-manager homeManagerSettings { home-manager.users.bertof = import ./thor.nix; } @@ -131,9 +132,7 @@ in { - exports = { - inherit pkgs unstablePkgs; - }; + packages.${system} = pkgs; nixosConfigurations = rec { diff --git a/modules/pro_audio.nix b/modules/pro_audio.nix index 92b9044..122427e 100644 --- a/modules/pro_audio.nix +++ b/modules/pro_audio.nix @@ -29,7 +29,7 @@ in samplv1 # speech-denoiser # stochas - sunvox + # sunvox # surge surge-XT talentedhack diff --git a/modules/webapp.nix b/modules/webapp.nix index cb02f36..630e938 100644 --- a/modules/webapp.nix +++ b/modules/webapp.nix @@ -3,7 +3,7 @@ let cmd = link: "${pkgs.google-chrome}/bin/google-chrome-stable --app=${link}"; links = [ - { desktopName = "Google Calendar"; link = "https://google.com/calendar"; categories = [ "Calendar" "Office" ]; } + { desktopName = "Google Calendar"; link = "https://google.com/calendar"; categories = [ "Office" ]; } { desktopName = "Google Keep"; link = "https://keep.google.com"; categories = [ "Office" ]; } { desktopName = "Monkeytype"; link = "https://monkeytype.com/"; } { desktopName = "Netflix"; link = "https://www.netflix.com"; categories = [ "AudioVideo" ]; } diff --git a/thor.nix b/thor.nix index 7c25526..3730276 100644 --- a/thor.nix +++ b/thor.nix @@ -113,15 +113,16 @@ zoom-us zotero - ( - retroarch.override { - cores = with pkgs.libretro; [ - mgba - pcsx_rearmed - ppsspp - ]; - } - ) + retroarchFull + # ( + # retroarch.override { + # cores = with pkgs.libretro; [ + # mgba + # pcsx_rearmed + # ppsspp + # ]; + # } + # ) ]; }; From 6a00933db43a0eb4e5ee409762b1b05b65bb0f77 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sun, 1 May 2022 18:32:47 +0200 Subject: [PATCH 14/80] Update Thor + aliases and webapp --- flake.lock | 30 +++++++++++++++--------------- modules/shell_aliases.nix | 7 ++++--- modules/webapp.nix | 1 + thor/configuration.nix | 8 ++------ 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index c6c1af8..23737c8 100644 --- a/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ ] }, "locked": { - "lastModified": 1649887911, - "narHash": "sha256-Af0Ppb1RZ7HWuxUvF0/O7h3cy8tqU2eKFyVwyA1ZD+w=", + "lastModified": 1651007218, + "narHash": "sha256-NkQAMtqW0PSJTbLHalyZtaqj0ai2TZMOedug9yDIcFw=", "owner": "nix-community", "repo": "home-manager", - "rev": "7244c6715cb8f741f3b3e1220a9279e97b2ed8f5", + "rev": "d14adb99f3fb562ec74ad18c032efc154b438034", "type": "github" }, "original": { @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1650478719, - "narHash": "sha256-308c2cM4hW9AW6dSQ080ycXGyEJGkG/OwOINkYL9Mnw=", + "lastModified": 1651262513, + "narHash": "sha256-5iW1fevaAD0Rbtbgb4I++7fyaND3oarGs3mAjyadE0Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "93a69d07389311ffd6ce1f4d01836bbc2faec644", + "rev": "f8b51be7149a0735e87b232d21ae4f852619eac7", "type": "github" }, "original": { @@ -73,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1650610227, - "narHash": "sha256-ofSO6FrMfC8+wmYy6ItxOfXpN0E6sumnQYQCauMjKvM=", + "lastModified": 1651310835, + "narHash": "sha256-MLk/zsLlbPhwFucxL64Fr+oIrvQC2/76Ap2F7ekbPNI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "692729210d05e0ae2f33edfc072318520dd12666", + "rev": "fd3e33d696b81e76b30160dfad2efb7ac1f19879", "type": "github" }, "original": { @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1650595807, - "narHash": "sha256-kpmnW7CS6t6nkFZbQZlmVKIZTg+/XqglUXBD8DH+BLk=", + "lastModified": 1651286718, + "narHash": "sha256-sPGOKDL6TNRfLnwarbdlmeD0FW4BmPfOoB/AMax91pg=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "9bf4a3706c99662e9a80cbd655c2b918ba3d5eaf", + "rev": "8a687a6e5dc1f5c39715b01521a7aa0122529a05", "type": "github" }, "original": { @@ -147,11 +147,11 @@ }, "unstable": { "locked": { - "lastModified": 1650161686, - "narHash": "sha256-70ZWAlOQ9nAZ08OU6WY7n4Ij2kOO199dLfNlvO/+pf8=", + "lastModified": 1651007983, + "narHash": "sha256-GNay7yDPtLcRcKCNHldug85AhAvBpTtPEJWSSDYBw8U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1ffba9f2f683063c2b14c9f4d12c55ad5f4ed887", + "rev": "e10da1c7f542515b609f8dfbcf788f3d85b14936", "type": "github" }, "original": { diff --git a/modules/shell_aliases.nix b/modules/shell_aliases.nix index 3c8e564..4e85072 100644 --- a/modules/shell_aliases.nix +++ b/modules/shell_aliases.nix @@ -1,14 +1,15 @@ { pkgs, ... }: let shellAliases = { - "dk" = "docker"; "dkc" = "docker-compose"; + "dk" = "docker"; "hm" = "home-manager"; "jc" = "sudo journalctl"; "jcu" = "journalctl --user"; "nf" = "find /nix/store/ -maxdepth 1 | grep"; - "ns" = "nix search github:NixOS/nixpkgs/release-21.11"; - "nS" = "nix-shell"; + "nr" = "nix run"; + "ns" = "nix search nixpkgs"; + "nS" = "nix shell"; "sc" = "sudo systemctl"; "scu" = "systemctl --user"; }; diff --git a/modules/webapp.nix b/modules/webapp.nix index 630e938..d3a8814 100644 --- a/modules/webapp.nix +++ b/modules/webapp.nix @@ -13,6 +13,7 @@ let { desktopName = "Twitch"; link = "https://www.twitch.tv"; categories = [ "AudioVideo" ]; } { desktopName = "WhatsApp"; link = "https://web.whatsapp.com/"; } { desktopName = "YouTube"; link = "https://www.youtube.com"; categories = [ "AudioVideo" ]; } + { desktopName = "Plex"; link = "https://app.plex.tv"; categories = [ "AudioVideo" ]; } ]; webAppBuilder = { desktopName diff --git a/thor/configuration.nix b/thor/configuration.nix index e3bfe30..fa9de7e 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -1,14 +1,10 @@ { config, pkgs, lib, ... }: { - imports = [ - # - # - ./hardware-configuration.nix - # ./pro_audio.nix - ]; + imports = [ ./hardware-configuration.nix ]; boot = { binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; + kernelPackages = pkgs.linuxPackages_latest; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; loader = { systemd-boot.enable = true; From c1d270199851232a6fb13c10a149a61caef0ed5b Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 6 May 2022 16:34:32 +0200 Subject: [PATCH 15/80] Cleanup home-manager modules --- flake.nix | 21 +- home_manager/basic_env.nix | 50 ++ .../modules}/alacritty.nix | 0 {modules => home_manager/modules}/bash.nix | 0 {modules => home_manager/modules}/bat.nix | 0 {modules => home_manager/modules}/bottom.nix | 0 {modules => home_manager/modules}/broot.nix | 0 {modules => home_manager/modules}/bspwm.nix | 0 .../modules}/configurations.nix | 0 home_manager/modules/cpp.nix | 6 + .../modules}/dircolors.nix | 0 {modules => home_manager/modules}/direnv.nix | 0 {modules => home_manager/modules}/dunst.nix | 0 {modules => home_manager/modules}/fonts.nix | 0 {modules => home_manager/modules}/fzf.nix | 0 {modules => home_manager/modules}/git.nix | 0 home_manager/modules/go.nix | 9 + {modules => home_manager/modules}/gpg.nix | 0 {modules => home_manager/modules}/grobi.nix | 0 .../modules}/gtk_theme.nix | 0 {modules => home_manager/modules}/info.nix | 0 {modules => home_manager/modules}/java.nix | 0 home_manager/modules/javascript.nix | 7 + .../modules}/joystickwake.nix | 0 {modules => home_manager/modules}/jq.nix | 0 home_manager/modules/kakoune.nix | 284 +++++++++++ .../modules}/keepassxc.nix | 0 .../modules}/keychain.nix | 0 {modules => home_manager/modules}/kitty.nix | 0 home_manager/modules/latex.nix | 8 + {modules => home_manager/modules}/lf.nix | 0 .../modules}/libinput-gestures.nix | 0 {modules => home_manager/modules}/lorri.nix | 0 {modules => home_manager/modules}/man.nix | 0 .../modules}/mangohud.nix | 0 .../modules}/megasync.nix | 0 .../modules}/nix-index.nix | 0 {modules => home_manager/modules}/noti.nix | 0 .../modules}/obs-studio.nix | 0 {modules => home_manager/modules}/office.nix | 0 .../modules}/onedrive.nix | 0 {modules => home_manager/modules}/picom.nix | 0 {modules => home_manager/modules}/polybar.nix | 0 .../modules}/pro_audio.nix | 0 {modules => home_manager/modules}/pycharm.nix | 0 home_manager/modules/python.nix | 10 + {modules => home_manager/modules}/rofi.nix | 2 +- .../modules}/rofimoji.nix | 0 home_manager/modules/rust.nix | 10 + .../modules}/screen_locker.nix | 0 .../modules}/security.nix | 0 .../modules}/shell_aliases.nix | 5 +- {modules => home_manager/modules}/ssh.nix | 0 .../modules}/starship.nix | 0 {modules => home_manager/modules}/sxhkd.nix | 0 .../modules}/syncthing.nix | 0 .../modules}/terminator.nix | 0 {modules => home_manager/modules}/tmux.nix | 0 .../modules}/update_background.nix | 0 {modules => home_manager/modules}/webapp.nix | 0 .../modules}/xidlehook.nix | 0 {modules => home_manager/modules}/zoxide.nix | 0 {modules => home_manager/modules}/zsh.nix | 0 home_manager/odin.nix | 151 ++++++ modules/go.nix | 5 - modules/kakoune.nix | 453 ------------------ modules/latex.nix | 6 - odin/{base.nix => common_configuration.nix} | 4 +- ...odin-intel.nix => configuration-intel.nix} | 0 ...in-nvidia.nix => configuration-nvidia.nix} | 0 thor/flake.lock | 65 --- thor/flake.nix | 35 -- 72 files changed, 551 insertions(+), 580 deletions(-) create mode 100644 home_manager/basic_env.nix rename {modules => home_manager/modules}/alacritty.nix (100%) rename {modules => home_manager/modules}/bash.nix (100%) rename {modules => home_manager/modules}/bat.nix (100%) rename {modules => home_manager/modules}/bottom.nix (100%) rename {modules => home_manager/modules}/broot.nix (100%) rename {modules => home_manager/modules}/bspwm.nix (100%) rename {modules => home_manager/modules}/configurations.nix (100%) create mode 100644 home_manager/modules/cpp.nix rename {modules => home_manager/modules}/dircolors.nix (100%) rename {modules => home_manager/modules}/direnv.nix (100%) rename {modules => home_manager/modules}/dunst.nix (100%) rename {modules => home_manager/modules}/fonts.nix (100%) rename {modules => home_manager/modules}/fzf.nix (100%) rename {modules => home_manager/modules}/git.nix (100%) create mode 100644 home_manager/modules/go.nix rename {modules => home_manager/modules}/gpg.nix (100%) rename {modules => home_manager/modules}/grobi.nix (100%) rename {modules => home_manager/modules}/gtk_theme.nix (100%) rename {modules => home_manager/modules}/info.nix (100%) rename {modules => home_manager/modules}/java.nix (100%) create mode 100644 home_manager/modules/javascript.nix rename {modules => home_manager/modules}/joystickwake.nix (100%) rename {modules => home_manager/modules}/jq.nix (100%) create mode 100644 home_manager/modules/kakoune.nix rename {modules => home_manager/modules}/keepassxc.nix (100%) rename {modules => home_manager/modules}/keychain.nix (100%) rename {modules => home_manager/modules}/kitty.nix (100%) create mode 100644 home_manager/modules/latex.nix rename {modules => home_manager/modules}/lf.nix (100%) rename {modules => home_manager/modules}/libinput-gestures.nix (100%) rename {modules => home_manager/modules}/lorri.nix (100%) rename {modules => home_manager/modules}/man.nix (100%) rename {modules => home_manager/modules}/mangohud.nix (100%) rename {modules => home_manager/modules}/megasync.nix (100%) rename {modules => home_manager/modules}/nix-index.nix (100%) rename {modules => home_manager/modules}/noti.nix (100%) rename {modules => home_manager/modules}/obs-studio.nix (100%) rename {modules => home_manager/modules}/office.nix (100%) rename {modules => home_manager/modules}/onedrive.nix (100%) rename {modules => home_manager/modules}/picom.nix (100%) rename {modules => home_manager/modules}/polybar.nix (100%) rename {modules => home_manager/modules}/pro_audio.nix (100%) rename {modules => home_manager/modules}/pycharm.nix (100%) create mode 100644 home_manager/modules/python.nix rename {modules => home_manager/modules}/rofi.nix (87%) rename {modules => home_manager/modules}/rofimoji.nix (100%) create mode 100644 home_manager/modules/rust.nix rename {modules => home_manager/modules}/screen_locker.nix (100%) rename {modules => home_manager/modules}/security.nix (100%) rename {modules => home_manager/modules}/shell_aliases.nix (74%) rename {modules => home_manager/modules}/ssh.nix (100%) rename {modules => home_manager/modules}/starship.nix (100%) rename {modules => home_manager/modules}/sxhkd.nix (100%) rename {modules => home_manager/modules}/syncthing.nix (100%) rename {modules => home_manager/modules}/terminator.nix (100%) rename {modules => home_manager/modules}/tmux.nix (100%) rename {modules => home_manager/modules}/update_background.nix (100%) rename {modules => home_manager/modules}/webapp.nix (100%) rename {modules => home_manager/modules}/xidlehook.nix (100%) rename {modules => home_manager/modules}/zoxide.nix (100%) rename {modules => home_manager/modules}/zsh.nix (100%) create mode 100644 home_manager/odin.nix delete mode 100644 modules/go.nix delete mode 100644 modules/kakoune.nix delete mode 100644 modules/latex.nix rename odin/{base.nix => common_configuration.nix} (99%) rename odin/{odin-intel.nix => configuration-intel.nix} (100%) rename odin/{odin-nvidia.nix => configuration-nvidia.nix} (100%) delete mode 100644 thor/flake.lock delete mode 100644 thor/flake.nix diff --git a/flake.nix b/flake.nix index 93db66f..1da0cd3 100644 --- a/flake.nix +++ b/flake.nix @@ -68,7 +68,7 @@ }; }; pkgs = import nixpkgs nixpkgsSettings; - unstablePkgs = import nixpkgs nixpkgsSettings; + unstablePkgs = import unstable nixpkgsSettings; homeManagerSettings = { home-manager = { @@ -83,7 +83,7 @@ nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-pc-laptop nixos-hardware.nixosModules.common-pc-laptop-ssd - ./odin/base.nix + ./odin/common_configuration.nix ]; thorBaseModules = [ @@ -99,7 +99,7 @@ modules = odinBaseModules ++ [ home-manager.nixosModules.home-manager homeManagerSettings - { home-manager.users.bertof = import ./odin.nix; } + { home-manager.users.bertof = import ./home_manager/odin.nix; } ] ++ extraModules; }; @@ -108,7 +108,7 @@ modules = odinBaseModules ++ [ home-manager-unstable.nixosModules.home-manager homeManagerSettings - { home-manager.users.bertof = import ./odin.nix; } + { home-manager.users.bertof = import ./home_manager/odin.nix; } ] ++ extraModules; }; @@ -136,19 +136,18 @@ nixosConfigurations = rec { - thor = thor-unstable; + thor = thor-stable; thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ]; thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ]; thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; - odin = odin-intel-unstable; - - odin-intel-unstable = odinUnstable [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; - odin-nvidia-unstable = odinUnstable [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; - odin-intel-stable = odinStable [ ./odin/odin-intel.nix ./nixos_modules/pro_audio.nix ]; - odin-nvidia-stable = odinStable [ ./odin/odin-nvidia.nix ./nixos_modules/pro_audio.nix ]; + odin = odin-intel-stable; + odin-intel-unstable = odinUnstable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ]; + odin-nvidia-unstable = odinUnstable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ]; + odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ]; + odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ]; }; }; } diff --git a/home_manager/basic_env.nix b/home_manager/basic_env.nix new file mode 100644 index 0000000..bf266a4 --- /dev/null +++ b/home_manager/basic_env.nix @@ -0,0 +1,50 @@ +{ pkgs, ... }: +{ + home = { + language.base = "it_IT.UTF-8"; + keyboard = { + layout = "it"; + options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; + }; + packages = with pkgs; [ + file + htop + mmv-go + neofetch + nixos-option + nix-tree + unrar + unzip + wget + xclip + yq + zip + ]; + }; + + imports = [ + ./modules/configurations.nix + + ./modules/bash.nix + ./modules/bat.nix + ./modules/bottom.nix + ./modules/broot.nix + ./modules/dircolors.nix + ./modules/direnv.nix + ./modules/fonts.nix + ./modules/fzf.nix + ./modules/git.nix + ./modules/gpg.nix + ./modules/info.nix + ./modules/jq.nix + ./modules/keychain.nix + ./modules/lf.nix + ./modules/man.nix + ./modules/shell_aliases.nix + ./modules/ssh.nix + ./modules/starship.nix + ./modules/tmux.nix + ./modules/zoxide.nix + ./modules/zsh.nix + ]; +} diff --git a/modules/alacritty.nix b/home_manager/modules/alacritty.nix similarity index 100% rename from modules/alacritty.nix rename to home_manager/modules/alacritty.nix diff --git a/modules/bash.nix b/home_manager/modules/bash.nix similarity index 100% rename from modules/bash.nix rename to home_manager/modules/bash.nix diff --git a/modules/bat.nix b/home_manager/modules/bat.nix similarity index 100% rename from modules/bat.nix rename to home_manager/modules/bat.nix diff --git a/modules/bottom.nix b/home_manager/modules/bottom.nix similarity index 100% rename from modules/bottom.nix rename to home_manager/modules/bottom.nix diff --git a/modules/broot.nix b/home_manager/modules/broot.nix similarity index 100% rename from modules/broot.nix rename to home_manager/modules/broot.nix diff --git a/modules/bspwm.nix b/home_manager/modules/bspwm.nix similarity index 100% rename from modules/bspwm.nix rename to home_manager/modules/bspwm.nix diff --git a/modules/configurations.nix b/home_manager/modules/configurations.nix similarity index 100% rename from modules/configurations.nix rename to home_manager/modules/configurations.nix diff --git a/home_manager/modules/cpp.nix b/home_manager/modules/cpp.nix new file mode 100644 index 0000000..08fa37c --- /dev/null +++ b/home_manager/modules/cpp.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + clang-tools + ]; +} diff --git a/modules/dircolors.nix b/home_manager/modules/dircolors.nix similarity index 100% rename from modules/dircolors.nix rename to home_manager/modules/dircolors.nix diff --git a/modules/direnv.nix b/home_manager/modules/direnv.nix similarity index 100% rename from modules/direnv.nix rename to home_manager/modules/direnv.nix diff --git a/modules/dunst.nix b/home_manager/modules/dunst.nix similarity index 100% rename from modules/dunst.nix rename to home_manager/modules/dunst.nix diff --git a/modules/fonts.nix b/home_manager/modules/fonts.nix similarity index 100% rename from modules/fonts.nix rename to home_manager/modules/fonts.nix diff --git a/modules/fzf.nix b/home_manager/modules/fzf.nix similarity index 100% rename from modules/fzf.nix rename to home_manager/modules/fzf.nix diff --git a/modules/git.nix b/home_manager/modules/git.nix similarity index 100% rename from modules/git.nix rename to home_manager/modules/git.nix diff --git a/home_manager/modules/go.nix b/home_manager/modules/go.nix new file mode 100644 index 0000000..9f7fe72 --- /dev/null +++ b/home_manager/modules/go.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + programs.go = { + enable = true; + }; + + home.packages = with pkgs; [ + gopls + ]; +} diff --git a/modules/gpg.nix b/home_manager/modules/gpg.nix similarity index 100% rename from modules/gpg.nix rename to home_manager/modules/gpg.nix diff --git a/modules/grobi.nix b/home_manager/modules/grobi.nix similarity index 100% rename from modules/grobi.nix rename to home_manager/modules/grobi.nix diff --git a/modules/gtk_theme.nix b/home_manager/modules/gtk_theme.nix similarity index 100% rename from modules/gtk_theme.nix rename to home_manager/modules/gtk_theme.nix diff --git a/modules/info.nix b/home_manager/modules/info.nix similarity index 100% rename from modules/info.nix rename to home_manager/modules/info.nix diff --git a/modules/java.nix b/home_manager/modules/java.nix similarity index 100% rename from modules/java.nix rename to home_manager/modules/java.nix diff --git a/home_manager/modules/javascript.nix b/home_manager/modules/javascript.nix new file mode 100644 index 0000000..80e714a --- /dev/null +++ b/home_manager/modules/javascript.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + flow + ]; +} + diff --git a/modules/joystickwake.nix b/home_manager/modules/joystickwake.nix similarity index 100% rename from modules/joystickwake.nix rename to home_manager/modules/joystickwake.nix diff --git a/modules/jq.nix b/home_manager/modules/jq.nix similarity index 100% rename from modules/jq.nix rename to home_manager/modules/jq.nix diff --git a/home_manager/modules/kakoune.nix b/home_manager/modules/kakoune.nix new file mode 100644 index 0000000..50ae49e --- /dev/null +++ b/home_manager/modules/kakoune.nix @@ -0,0 +1,284 @@ +{ config, lib, pkgs, ... }: +let + strPalette = with pkgs.rice; palette.toRgbShortHex colorPalette; + themeBuilder = palette: with palette; '' + set-face global value rgb:${normal.magenta},default + set-face global type rgb:${bright.white},default + set-face global identifier rgb:${normal.cyan},default + set-face global string rgb:${normal.green},default + set-face global error rgb:${normal.red},default + set-face global keyword rgb:${normal.blue},default + set-face global operator rgb:${normal.blue},default + set-face global attribute rgb:${bright.blue},default + set-face global comment rgb:${bright.blue},default + set-face global meta rgb:${normal.yellow},default + set-face global Default rgb:${normal.white},default + set-face global PrimarySelection rgb:${normal.black},rgb:${dark.yellow} + set-face global SecondarySelection rgb:${normal.black},rgb:${dark.white} + set-face global PrimaryCursor rgb:${normal.black},rgb:${normal.yellow} + set-face global SecondaryCursor rgb:${normal.black},rgb:${normal.white} + set-face global MenuForeground rgb:${normal.white},rgb:${bright.black} + set-face global MenuBackground default,rgb:${normal.black} + set-face global MenuInfo default,rgb:${normal.black} + set-face global Information rgb:${dark.black},rgb:${normal.cyan} + set-face global StatusLine rgb:${normal.white},rgb:${normal.black} + set-face global StatusLineMode rgb:${normal.blue},rgb:${normal.black} + set-face global StatusLineInfo rgb:${normal.blue},rgb:${normal.black} + set-face global StatusLineValue rgb:${normal.blue},rgb:${normal.black} + set-face global StatusCursor rgb:${dark.black},rgb:${normal.yellow} + set-face global Prompt rgb:${normal.cyan},rgb:${normal.black} + set-face global BufferPadding default,default + ''; + + packages = with pkgs; [ + yaml-language-server + nodePackages.vscode-langservers-extracted + rnix-lsp + # (pkgs.makeDesktopItem + # { + # name = "kakoune"; + # exec = "kak %U"; + # icon = "kakoune"; + # desktopName = "Kakoune"; + # comment = "Kakoune text editor"; + # terminal = true; + # categories = [ "Development" ]; + # }) + editorconfig-core-c + aspell + aspellDicts.en + aspellDicts.en-computers + aspellDicts.en-science + aspellDicts.it + ]; + +in +{ + home.sessionVariables = { EDITOR = "kak"; VISUAL = "kak"; }; + programs.bash.shellAliases = { k = "kak"; }; + programs.zsh.shellAliases = { k = "kak"; }; + home.packages = packages; + programs.kakoune = { + enable = true; + config = { + colorScheme = "nord"; + tabStop = 2; + indentWidth = 2; + alignWithTabs = true; + scrollOff = { lines = 5; columns = 3; }; + ui = { setTitle = true; changeColors = true; enableMouse = true; }; + wrapLines = { enable = true; word = true; }; + numberLines = { enable = true; highlightCursor = true; }; + keyMappings = [ + { mode = "normal"; docstring = "Edit file"; key = ""; effect = ":edit"; } + { mode = "user"; docstring = "Code actions"; key = "a"; effect = ":lsp-code-actions"; } + { mode = "user"; docstring = "Comment block"; key = "b"; effect = ":comment-block"; } + { mode = "user"; docstring = "Comment line"; key = "l"; effect = ":comment-line"; } + { mode = "user"; docstring = "Copy to clipboard"; key = "y"; effect = "${pkgs.xclip}/bin/xclip -i -selection clipboard"; } + { mode = "user"; docstring = "Format code with formatter"; key = "f"; effect = ":format"; } + { mode = "user"; docstring = "Format code with LSP"; key = "F"; effect = ":lsp-formatting-sync"; } + { mode = "user"; docstring = "Jump to definition"; key = "d"; effect = ":lsp-definition"; } + { mode = "user"; docstring = "Rename object"; key = "r"; effect = ":lsp-rename-prompt"; } + { mode = "user"; docstring = "Jump to type definition"; key = "t"; effect = ":lsp-type-definition"; } + { mode = "user"; docstring = "List project diagnostics"; key = "i"; effect = ":lsp-diagnostics"; } + { mode = "user"; docstring = "Paste from clipboard (after)"; key = "P"; effect = "${pkgs.xclip}/bin/xclip -selection clipboard -o"; } + { mode = "user"; docstring = "Paste from clipboard (before)"; key = "p"; effect = "!${pkgs.xclip}/bin/xclip -selection clipboard -o"; } + { mode = "user"; docstring = "Show hover info"; key = "q"; effect = ":lsp-hover"; } + { mode = "user"; docstring = "Spellcheck English"; key = "S"; effect = ":spell en"; } + { mode = "user"; docstring = "Spellcheck"; key = "s"; effect = ":spell "; } + { mode = "normal"; docstring = "Try next snippet placeholder"; key = ""; effect = ": insert-c-n"; } + # { mode = "normal"; docstring = "Search"; key = "/"; effect = "/(?i)"; } + # { mode = "normal"; docstring = "Reverse search"; key = ""; effect = "(?i)"; } + ]; + hooks = with pkgs; [ + { name = "BufCreate"; option = ".*"; commands = "editorconfig-load"; } + # { name = "ModuleLoaded"; option = "auto-pairs"; commands = "auto-pairs-enable"; } + { name = "ModuleLoaded"; option = "powerline"; commands = "powerline-enable; powerline-start"; } + { name = "BufSetOption"; option = "filetype=latex"; commands = "set-option buffer formatcmd latexindent"; } + { name = "BufSetOption"; option = "filetype=python"; commands = "set-option buffer formatcmd 'black -'"; } + { name = "BufSetOption"; option = "filetype=(markdown|html|json|yaml|css|scss|less)"; commands = "set-option buffer formatcmd prettier"; } + { name = "BufSetOption"; option = "filetype=rust"; commands = "set-option buffer formatcmd 'rustfmt'"; } + { name = "BufSetOption"; option = "filetype=sh"; commands = "set-option buffer formatcmd 'rustfmt'"; } + ]; + # TODO add more formatters from https://github.com/mawww/kakoune/wiki/Format + }; + extraConfig = builtins.concatStringsSep "\n" [ + "# Custom commands" + "add-highlighter global/ regex \\h+$ 0:Error # Highlight trailing spaces" + "eval %sh{kak-lsp --kakoune -s $kak_session}" + "lsp-enable" + '' + def -hidden insert-c-n %{ + try %{ + lsp-snippets-select-next-placeholders + exec 'd' + } catch %{ + exec -with-hooks '' + } + } + '' + "require-module powerline" + "require-module connect-broot" + "require-module connect-lf" + "require-module connect-rofi" + ]; + plugins = with pkgs.kakounePlugins; [ + prelude-kak + kak-lsp + auto-pairs-kak + powerline-kak + connect-kak + ]; + }; + + # THEME FILE + xdg.configFile."kak/colors/nord.kak".text = with strPalette; '' + set-face global value rgb:${normal.magenta},default + set-face global type rgb:${bright.white},default + set-face global identifier rgb:${normal.cyan},default + set-face global string rgb:${normal.green},default + set-face global error rgb:${normal.red},default + set-face global keyword rgb:${normal.blue},default + set-face global operator rgb:${normal.blue},default + set-face global attribute rgb:${bright.blue},default + set-face global comment rgb:${bright.blue},default + set-face global meta rgb:${normal.yellow},default + set-face global Default rgb:${normal.white},default + set-face global PrimarySelection rgb:${normal.black},rgb:${dark.yellow} + set-face global SecondarySelection rgb:${normal.black},rgb:${dark.white} + set-face global PrimaryCursor rgb:${normal.black},rgb:${normal.yellow} + set-face global SecondaryCursor rgb:${normal.black},rgb:${normal.white} + set-face global MenuForeground rgb:${normal.white},rgb:${bright.black} + set-face global MenuBackground default,rgb:${normal.black} + set-face global MenuInfo default,rgb:${normal.black} + set-face global Information rgb:${dark.black},rgb:${normal.cyan} + set-face global StatusLine rgb:${normal.white},rgb:${normal.black} + set-face global StatusLineMode rgb:${normal.blue},rgb:${normal.black} + set-face global StatusLineInfo rgb:${normal.blue},rgb:${normal.black} + set-face global StatusLineValue rgb:${normal.blue},rgb:${normal.black} + set-face global StatusCursor rgb:${dark.black},rgb:${normal.yellow} + set-face global Prompt rgb:${normal.cyan},rgb:${normal.black} + set-face global BufferPadding default,default + ''; + + xdg.configFile."kak-lsp/kak-lsp.toml".text = with pkgs; '' + snippet_support = false + verbosity = 2 + [server] + timeout = 1800 # seconds = 30 minutes + + [language.c_cpp] + filetypes = ["c", "cpp"] + roots = ["compile_commands.json", ".clangd"] + command = "clangd" + offset_encoding = "utf-8" + + [language.json] + filetypes = ["json"] + roots = ["package.json"] + command = "vscode-json-language-server" + args = ["--stdio"] + + [language.yaml] + filetypes = ["yaml"] + roots = [".git"] + command = "yaml-language-server" + args = ["--stdio"] + + [language.yaml.settings] + # See https://github.com/redhat-developer/yaml-language-server#language-server-settings + # Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts + yaml.format.enable = true + + [language.go] + filetypes = ["go"] + roots = ["Gopkg.toml", "go.mod", ".git", ".hg"] + command = "gopls" + offset_encoding = "utf-8" + settings_section = "gopls" + + [language.go.settings.gopls] + # See https://github.com/golang/tools/blob/master/gopls/doc/settings.md + # "build.buildFlags" = [] + + [language.html] + filetypes = ["html"] + roots = ["package.json"] + command = "vscode-html-language-server" + args = ["--stdio"] + + [language.css] + filetypes = ["css"] + roots = ["package.json", ".git"] + command = "vscode-css-language-server" + args = ["--stdio"] + + [language.less] + filetypes = ["less"] + roots = ["package.json", ".git"] + command = "vscode-css-language-server" + args = ["--stdio"] + + [language.scss] + filetypes = ["scss"] + roots = ["package.json", ".git"] + command = "vscode-css-language-server" + args = ["--stdio"] + + [language.javascript] + filetypes = ["javascript"] + roots = [".flowconfig"] + command = "flow" + args = ["lsp"] + + [language.latex] + filetypes = ["latex"] + roots = [".git"] + command = "texlab" + settings_section = "texlab" + + [language.latex.settings.texlab] + # See https://github.com/latex-lsp/texlab/blob/master/src/options.rs + # bibtexFormatter = "texlab" + + [language.nix] + filetypes = ["nix"] + roots = ["flake.nix", "shell.nix", ".git"] + command = "rnix-lsp" + + [language.python] + filetypes = ["python"] + roots = ["requirements.txt", "setup.py", ".git", ".hg"] + command = "pylsp" + offset_encoding = "utf-8" + + [language.python.settings] + # See https://github.com/palantir/python-language-server#configuration + # and https://github.com/palantir/python-language-server/blob/develop/vscode-client/package.json + # "pyls.configurationSources" = ["flake8"] + + [language.rust] + filetypes = ["rust"] + roots = ["Cargo.toml"] + command = "rust-analyzer" + settings_section = "rust-analyzer" + + [language.rust.settings.rust-analyzer] + hoverActions.enable = false # kak-lsp doesn't support this at the moment + # cargo.features = [] + # See https://rust-analyzer.github.io/manual.html#configuration + # If you get 'unresolved proc macro' warnings, you have two options + # 1. The safe choice is two disable the warning: + diagnostics.disabled = ["unresolved-proc-macro"] + # 2. Or you can opt-in for proc macro support + procMacro.enable = true + cargo.loadOutDirsFromCheck = true + # See https://github.com/rust-analyzer/rust-analyzer/issues/6448 + + [language.bash] + filetypes = ["sh"] + roots = [".git", ".hg"] + command = "bash-language-server" + args = ["start"] + ''; +} diff --git a/modules/keepassxc.nix b/home_manager/modules/keepassxc.nix similarity index 100% rename from modules/keepassxc.nix rename to home_manager/modules/keepassxc.nix diff --git a/modules/keychain.nix b/home_manager/modules/keychain.nix similarity index 100% rename from modules/keychain.nix rename to home_manager/modules/keychain.nix diff --git a/modules/kitty.nix b/home_manager/modules/kitty.nix similarity index 100% rename from modules/kitty.nix rename to home_manager/modules/kitty.nix diff --git a/home_manager/modules/latex.nix b/home_manager/modules/latex.nix new file mode 100644 index 0000000..b4a0a7c --- /dev/null +++ b/home_manager/modules/latex.nix @@ -0,0 +1,8 @@ +{ pkgs, lib, ...}: +{ + home.packages = with pkgs; [ + tex2nix + texlab + texlive.combined.scheme-medium + ]; +} diff --git a/modules/lf.nix b/home_manager/modules/lf.nix similarity index 100% rename from modules/lf.nix rename to home_manager/modules/lf.nix diff --git a/modules/libinput-gestures.nix b/home_manager/modules/libinput-gestures.nix similarity index 100% rename from modules/libinput-gestures.nix rename to home_manager/modules/libinput-gestures.nix diff --git a/modules/lorri.nix b/home_manager/modules/lorri.nix similarity index 100% rename from modules/lorri.nix rename to home_manager/modules/lorri.nix diff --git a/modules/man.nix b/home_manager/modules/man.nix similarity index 100% rename from modules/man.nix rename to home_manager/modules/man.nix diff --git a/modules/mangohud.nix b/home_manager/modules/mangohud.nix similarity index 100% rename from modules/mangohud.nix rename to home_manager/modules/mangohud.nix diff --git a/modules/megasync.nix b/home_manager/modules/megasync.nix similarity index 100% rename from modules/megasync.nix rename to home_manager/modules/megasync.nix diff --git a/modules/nix-index.nix b/home_manager/modules/nix-index.nix similarity index 100% rename from modules/nix-index.nix rename to home_manager/modules/nix-index.nix diff --git a/modules/noti.nix b/home_manager/modules/noti.nix similarity index 100% rename from modules/noti.nix rename to home_manager/modules/noti.nix diff --git a/modules/obs-studio.nix b/home_manager/modules/obs-studio.nix similarity index 100% rename from modules/obs-studio.nix rename to home_manager/modules/obs-studio.nix diff --git a/modules/office.nix b/home_manager/modules/office.nix similarity index 100% rename from modules/office.nix rename to home_manager/modules/office.nix diff --git a/modules/onedrive.nix b/home_manager/modules/onedrive.nix similarity index 100% rename from modules/onedrive.nix rename to home_manager/modules/onedrive.nix diff --git a/modules/picom.nix b/home_manager/modules/picom.nix similarity index 100% rename from modules/picom.nix rename to home_manager/modules/picom.nix diff --git a/modules/polybar.nix b/home_manager/modules/polybar.nix similarity index 100% rename from modules/polybar.nix rename to home_manager/modules/polybar.nix diff --git a/modules/pro_audio.nix b/home_manager/modules/pro_audio.nix similarity index 100% rename from modules/pro_audio.nix rename to home_manager/modules/pro_audio.nix diff --git a/modules/pycharm.nix b/home_manager/modules/pycharm.nix similarity index 100% rename from modules/pycharm.nix rename to home_manager/modules/pycharm.nix diff --git a/home_manager/modules/python.nix b/home_manager/modules/python.nix new file mode 100644 index 0000000..a6ab8fa --- /dev/null +++ b/home_manager/modules/python.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ + black + ] ++ (with pkgs.python3Packages; [ + python-lsp-server + # pyls-black # not updated to the new pylsp + pyls-flake8 + pyls-isort + ]); +} diff --git a/modules/rofi.nix b/home_manager/modules/rofi.nix similarity index 87% rename from modules/rofi.nix rename to home_manager/modules/rofi.nix index cab8166..e0097fe 100644 --- a/modules/rofi.nix +++ b/home_manager/modules/rofi.nix @@ -20,5 +20,5 @@ @theme "nord" ''; - xdg.configFile."rofi/nord.rasi".source = ../configs/rofi/nord.rasi; + xdg.configFile."rofi/nord.rasi".source = ../../configs/rofi/nord.rasi; } diff --git a/modules/rofimoji.nix b/home_manager/modules/rofimoji.nix similarity index 100% rename from modules/rofimoji.nix rename to home_manager/modules/rofimoji.nix diff --git a/home_manager/modules/rust.nix b/home_manager/modules/rust.nix new file mode 100644 index 0000000..ce75c16 --- /dev/null +++ b/home_manager/modules/rust.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + bacon + cargo + clippy + rust-analyzer + rustfmt + ]; +} diff --git a/modules/screen_locker.nix b/home_manager/modules/screen_locker.nix similarity index 100% rename from modules/screen_locker.nix rename to home_manager/modules/screen_locker.nix diff --git a/modules/security.nix b/home_manager/modules/security.nix similarity index 100% rename from modules/security.nix rename to home_manager/modules/security.nix diff --git a/modules/shell_aliases.nix b/home_manager/modules/shell_aliases.nix similarity index 74% rename from modules/shell_aliases.nix rename to home_manager/modules/shell_aliases.nix index 4e85072..1f992bb 100644 --- a/modules/shell_aliases.nix +++ b/home_manager/modules/shell_aliases.nix @@ -15,6 +15,7 @@ let }; in { - programs.bash = { inherit shellAliases; }; - programs.zsh = { inherit shellAliases; }; + home = { inherit shellAliases; }; + # programs.bash = { inherit shellAliases; }; + # programs.zsh = { inherit shellAliases; }; } diff --git a/modules/ssh.nix b/home_manager/modules/ssh.nix similarity index 100% rename from modules/ssh.nix rename to home_manager/modules/ssh.nix diff --git a/modules/starship.nix b/home_manager/modules/starship.nix similarity index 100% rename from modules/starship.nix rename to home_manager/modules/starship.nix diff --git a/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix similarity index 100% rename from modules/sxhkd.nix rename to home_manager/modules/sxhkd.nix diff --git a/modules/syncthing.nix b/home_manager/modules/syncthing.nix similarity index 100% rename from modules/syncthing.nix rename to home_manager/modules/syncthing.nix diff --git a/modules/terminator.nix b/home_manager/modules/terminator.nix similarity index 100% rename from modules/terminator.nix rename to home_manager/modules/terminator.nix diff --git a/modules/tmux.nix b/home_manager/modules/tmux.nix similarity index 100% rename from modules/tmux.nix rename to home_manager/modules/tmux.nix diff --git a/modules/update_background.nix b/home_manager/modules/update_background.nix similarity index 100% rename from modules/update_background.nix rename to home_manager/modules/update_background.nix diff --git a/modules/webapp.nix b/home_manager/modules/webapp.nix similarity index 100% rename from modules/webapp.nix rename to home_manager/modules/webapp.nix diff --git a/modules/xidlehook.nix b/home_manager/modules/xidlehook.nix similarity index 100% rename from modules/xidlehook.nix rename to home_manager/modules/xidlehook.nix diff --git a/modules/zoxide.nix b/home_manager/modules/zoxide.nix similarity index 100% rename from modules/zoxide.nix rename to home_manager/modules/zoxide.nix diff --git a/modules/zsh.nix b/home_manager/modules/zsh.nix similarity index 100% rename from modules/zsh.nix rename to home_manager/modules/zsh.nix diff --git a/home_manager/odin.nix b/home_manager/odin.nix new file mode 100644 index 0000000..7730519 --- /dev/null +++ b/home_manager/odin.nix @@ -0,0 +1,151 @@ +{ pkgs, lib, ... }: +{ + home = { + packages = with pkgs; [ + # # pulseaudio + easyeffects + tex2nix + + kubectl + docker-compose + docker-machine + + arandr + ark + authy + bitwarden + catgirl # IRC + cava + discord + droidcam + # element-desktop # matrix client + # evolution + filelight + # firefox + gallery-dl + # gnome.dconf-editor + # gnome.eog + # gnome.evince + gnome.geary + gnome.gnome-calendar + # gnomeExtensions.appindicator + # gnomeExtensions.caffeine + # gnomeExtensions.dash-to-dock + # gnomeExtensions.dynamic-panel-transparency + # gnomeExtensions.gtile + # gnomeExtensions.just-perfection + # gnomeExtensions.vitals + # gnome.file-roller + # gnome.gnome-screenshot + # gnome.gnome-sound-recorder + # gnome.gnome-sudoku + # gnome.gnome-system-monitor + # gnome.gnome-tweaks + # gnome.nautilus + # gnome.quadrapassel + # gnome.seahorse + # gnome.sushi + google-chrome + gucharmap + httpie + # hyperspace-cli + inkscape + jetbrains.datagrip + kmail + kompare + kontact + korganizer + krita + ksystemlog + kubectl + lutris + kcolorchooser + kompare + korganizer + # keepassxc + kgpg + # kid3 # tag mp3 + krita + ksystemlog + lutris + meld + mmv-go + mpv + neofetch + nixos-option + nix-prefetch-scripts + nix-tree + obsidian + okular + openvpn + p7zip + pavucontrol + pcmanfm + pentablet-driver + procps + ripgrep + skypeforlinux + spotify + unstable.tdesktop + teams + tracker + transmission-gtk + unrar + unzip + virt-manager + wget + # wineFull + wireguard-tools + xclip + xournalpp + yq + zip + zoom-us + zotero + ]; + }; + + imports = [ + ./basic_env.nix + + ./modules/cpp.nix + ./modules/go.nix + ./modules/java.nix + ./modules/javascript.nix + ./modules/latex.nix + ./modules/python.nix + ./modules/rust.nix + + ./modules/alacritty.nix + # ./modules/bspwm.nix + # ./modules/dunst.nix + # ./modules/grobi.nix + ./modules/gtk_theme.nix + ./modules/joystickwake.nix + ./modules/kakoune.nix + # ./modules/keepassxc.nix + ./modules/kitty.nix + ./modules/latex.nix + ./modules/libinput-gestures.nix + ./modules/mangohud.nix + ./modules/megasync.nix + # ./modules/noti.nix + ./modules/obs-studio.nix + ./modules/office.nix + ./modules/onedrive.nix + # ./modules/picom.nix + # ./modules/polybar.nix + ./modules/pro_audio.nix + # ./modules/pycharm.nix + ./modules/rofimoji.nix + ./modules/rofi.nix + # ./modules/screen_locker.nix + # ./modules/security.nix + # ./modules/sxhkd.nix + ./modules/syncthing.nix + ./modules/terminator.nix + # ./modules/update_background.nix + ./modules/webapp.nix + # ./modules/xidlehook.nix + ]; +} diff --git a/modules/go.nix b/modules/go.nix deleted file mode 100644 index f8d8c26..0000000 --- a/modules/go.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.go = { - enable = true; - }; -} diff --git a/modules/kakoune.nix b/modules/kakoune.nix deleted file mode 100644 index e8e6e06..0000000 --- a/modules/kakoune.nix +++ /dev/null @@ -1,453 +0,0 @@ -{ config, lib, pkgs, ... }: -let - strPalette = with pkgs.rice; - palette.toRgbShortHex colorPalette; - packages = with pkgs; - [ - (pkgs.makeDesktopItem - { - name = "kakoune"; - exec = "kak %U"; - icon = "kakoune"; - desktopName = "Kakoune"; - comment = "Kakoune text editor"; - terminal = true; - categories = [ "Development" ]; - }) - ] ++ [ - # editorconfig-core-c - python3.pkgs.editorconfig - ] ++ ( - [ - clang-tools - ] - ) ++ ( - [ - yaml-language-server - nodePackages.vscode-langservers-extracted - ] - ) ++ ( - [ - nodePackages.vscode-langservers-extracted - ] - ) ++ ( - [ - flow - ] - ) ++ ( - [ - texlab - ] - ) ++ ( - [ - rnix-lsp - ] - ) ++ ( - with python3.pkgs; - [ - black - # pyls-black - pyls-flake8 - pyls-isort - # pyls-mypy - python-lsp-server - ] - ) ++ ( - [ - cargo - cargo-watch - clippy - rust-analyzer - rustc - rustfmt - ] - ) ++ ( - [ - nodePackages.bash-language-server - ] - ) ++ ( - [ - aspell - aspellDicts.en - aspellDicts.en-computers - aspellDicts.en-science - aspellDicts.it - ] - ); - -in -{ - home.sessionVariables = { - EDITOR = "kak"; - VISUAL = "kak"; - }; - programs.bash.shellAliases = { k = "kak"; }; - programs.zsh.shellAliases = { k = "kak"; }; - home.packages = packages; - programs.kakoune = { - enable = true; - config = { - colorScheme = "nord"; - tabStop = 2; - indentWidth = 2; - alignWithTabs = true; - scrollOff = { - lines = 5; - columns = 3; - }; - ui = { - setTitle = true; - changeColors = true; - enableMouse = true; - }; - wrapLines = { - enable = true; - word = true; - }; - numberLines = { - enable = true; - highlightCursor = true; - }; - keyMappings = with pkgs; - [ - { - mode = "normal"; - docstring = "Edit file"; - key = ""; - effect = ":edit"; - } - { - mode = "user"; - docstring = "Code actions"; - key = "a"; - effect = ":lsp-code-actions"; - } - { - mode = "user"; - docstring = "Comment block"; - key = "b"; - effect = ":comment-block"; - } - { - mode = "user"; - docstring = "Comment line"; - key = "l"; - effect = ":comment-line"; - } - { - mode = "user"; - docstring = "Copy to clipboard"; - key = "y"; - effect = "${xclip}/bin/xclip -i -selection clipboard"; - } - { - mode = "user"; - docstring = "Format code with formatter"; - key = "f"; - effect = ":format"; - } - { - mode = "user"; - docstring = "Format code with LSP"; - key = "F"; - effect = ":lsp-formatting-sync"; - } - { - mode = "user"; - docstring = "Jump to definition"; - key = "d"; - effect = ":lsp-definition"; - } - { - mode = "user"; - docstring = "Rename object"; - key = "r"; - effect = ":lsp-rename-prompt"; - } - { - mode = "user"; - docstring = "Jump to type definition"; - key = "t"; - effect = ":lsp-type-definition"; - } - { - mode = "user"; - docstring = "List project diagnostics"; - key = "i"; - effect = ":lsp-diagnostics"; - } - { - mode = "user"; - docstring = "Paste from clipboard (after)"; - key = "P"; - effect = "${xclip}/bin/xclip -selection clipboard -o"; - } - { - mode = "user"; - docstring = "Paste from clipboard (before)"; - key = "p"; - effect = "!${xclip}/bin/xclip -selection clipboard -o"; - } - { - mode = "user"; - docstring = "Show hover info"; - key = "q"; - effect = ":lsp-hover"; - } - { - mode = "user"; - docstring = "Spellcheck English"; - key = "S"; - effect = ":spell en"; - } - { - mode = "user"; - docstring = "Spellcheck"; - key = "s"; - effect = ":spell "; - } - { - mode = "normal"; - docstring = "Try next snippet placeholder"; - key = ""; - effect = ": insert-c-n"; - } - # { - # mode = "normal"; - # docstring = "Search"; - # key = "/"; - # effect = "/(?i)"; - # } - # { - # mode = "normal"; - # docstring = "Reverse search"; - # key = ""; - # effect = "(?i)"; - # } - ]; - hooks = with pkgs; - [ - { - name = "BufCreate"; - option = ".*"; - commands = "editorconfig-load"; - } - # { - # name = "ModuleLoaded"; - # option = "auto-pairs"; - # commands = "auto-pairs-enable"; - # } - { - name = "ModuleLoaded"; - option = "powerline"; - commands = builtins.concatStringsSep "\n" [ "powerline-enable" ]; - } - ] ++ ( - [ - { - name = "BufSetOption"; - option = "filetype=latex"; - commands = "set-option buffer formatcmd ${texlive.bin.latexindent}/bin/latexindent"; - } - ] - ) ++ ( - [ - { - name = "BufSetOption"; - option = "filetype=python"; - commands = "set-option buffer formatcmd '${python3.pkgs.black}/bin/black -'"; - } - ] - ) ++ ( - [ - { - name = "BufSetOption"; - option = "filetype=(markdown|html|json|yaml|css|scss|less)"; - commands = "set-option buffer formatcmd ${nodePackages.prettier}/bin/prettier"; - } - ] - ); - # TODO add more formatters from https://github.com/mawww/kakoune/wiki/Format - }; - extraConfig = builtins.concatStringsSep "\n" [ - "# Custom commands" - "add-highlighter global/ regex \\h+$ 0:Error # Highlight trailing spaces" - "eval %sh{kak-lsp --kakoune -s $kak_session}" - "lsp-enable" - '' - def -hidden insert-c-n %{ - try %{ - lsp-snippets-select-next-placeholders - exec 'd' - } catch %{ - exec -with-hooks '' - } - } - '' - "require-module powerline" - "powerline-start" - "require-module connect-broot" - "require-module connect-lf" - "require-module connect-rofi" - ]; - plugins = with pkgs.kakounePlugins; [ - prelude-kak - kak-lsp - auto-pairs-kak - powerline-kak - connect-kak - ]; - }; - xdg.configFile."kak/colors/nord.kak".text = with strPalette; '' - set-face global value rgb:${normal.magenta},default - set-face global type rgb:${bright.white},default - set-face global identifier rgb:${normal.cyan},default - set-face global string rgb:${normal.green},default - set-face global error rgb:${normal.red},default - set-face global keyword rgb:${normal.blue},default - set-face global operator rgb:${normal.blue},default - set-face global attribute rgb:${bright.blue},default - set-face global comment rgb:${bright.blue},default - set-face global meta rgb:${normal.yellow},default - set-face global Default rgb:${normal.white},default - set-face global PrimarySelection rgb:${normal.black},rgb:${dark.yellow} - set-face global SecondarySelection rgb:${normal.black},rgb:${dark.white} - set-face global PrimaryCursor rgb:${normal.black},rgb:${normal.yellow} - set-face global SecondaryCursor rgb:${normal.black},rgb:${normal.white} - set-face global MenuForeground rgb:${normal.white},rgb:${bright.black} - set-face global MenuBackground default,rgb:${normal.black} - set-face global MenuInfo default,rgb:${normal.black} - set-face global Information rgb:${dark.black},rgb:${normal.cyan} - set-face global StatusLine rgb:${normal.white},rgb:${normal.black} - set-face global StatusLineMode rgb:${normal.blue},rgb:${normal.black} - set-face global StatusLineInfo rgb:${normal.blue},rgb:${normal.black} - set-face global StatusLineValue rgb:${normal.blue},rgb:${normal.black} - set-face global StatusCursor rgb:${dark.black},rgb:${normal.yellow} - set-face global Prompt rgb:${normal.cyan},rgb:${normal.black} - set-face global BufferPadding default,default - ''; - xdg.configFile."kak-lsp/kak-lsp.toml".text = with pkgs; builtins.concatStringsSep "\n" - [ - '' - snippet_support = false - verbosity = 2 - [server] - timeout = 1800 # seconds = 30 minutes - '' - '' - [language.c_cpp] - filetypes = ["c", "cpp"] - roots = ["compile_commands.json", ".clangd"] - command = "${clang-tools}/bin/clangd" - offset_encoding = "utf-8" - '' - '' - [language.json] - filetypes = ["json"] - roots = ["package.json"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-json-language-server" - args = ["--stdio"] - [language.yaml] - filetypes = ["yaml"] - roots = [".git"] - command = "${yaml-language-server}/bin/yaml-language-server" - args = ["--stdio"] - [language.yaml.settings] - # See https://github.com/redhat-developer/yaml-language-server#language-server-settings - # Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts - yaml.format.enable = true - '' - '' - [language.go] - filetypes = ["go"] - roots = ["Gopkg.toml", "go.mod", ".git", ".hg"] - command = "gopls" - offset_encoding = "utf-8" - settings_section = "gopls" - [language.go.settings.gopls] - # See https://github.com/golang/tools/blob/master/gopls/doc/settings.md - # "build.buildFlags" = [] - '' - '' - [language.html] - filetypes = ["html"] - roots = ["package.json"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-html-language-server" - args = ["--stdio"] - [language.css] - filetypes = ["css"] - roots = ["package.json", ".git"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" - args = ["--stdio"] - [language.less] - filetypes = ["less"] - roots = ["package.json", ".git"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" - args = ["--stdio"] - [language.scss] - filetypes = ["scss"] - roots = ["package.json", ".git"] - command = "${nodePackages.vscode-langservers-extracted}/bin/vscode-css-language-server" - args = ["--stdio"] - '' - '' - [language.javascript] - filetypes = ["javascript"] - roots = [".flowconfig"] - command = "${flow}/bin/flow" - args = ["lsp"] - '' - '' - [language.latex] - filetypes = ["latex"] - roots = [".git"] - command = "${texlab}/bin/texlab" - settings_section = "texlab" - [language.latex.settings.texlab] - # See https://github.com/latex-lsp/texlab/blob/master/src/options.rs - # bibtexFormatter = "${texlab}/bin/texlab" - '' - '' - [language.nix] - filetypes = ["nix"] - roots = ["flake.nix", "shell.nix", ".git"] - command = "${rnix-lsp}/bin/rnix-lsp" - '' - '' - [language.python] - filetypes = ["python"] - roots = ["requirements.txt", "setup.py", ".git", ".hg"] - command = "${python3.pkgs.python-lsp-server}/bin/pylsp" - offset_encoding = "utf-8" - [language.python.settings] - # See https://github.com/palantir/python-language-server#configuration - # and https://github.com/palantir/python-language-server/blob/develop/vscode-client/package.json - # "pyls.configurationSources" = ["flake8"] - '' - '' - [language.rust] - filetypes = ["rust"] - roots = ["Cargo.toml"] - command = "${rust-analyzer}/bin/rust-analyzer" - settings_section = "rust-analyzer" - [language.rust.settings.rust-analyzer] - hoverActions.enable = false # kak-lsp doesn't support this at the moment - # cargo.features = [] - # See https://rust-analyzer.github.io/manual.html#configuration - # If you get 'unresolved proc macro' warnings, you have two options - # 1. The safe choice is two disable the warning: - diagnostics.disabled = ["unresolved-proc-macro"] - # 2. Or you can opt-in for proc macro support - procMacro.enable = true - cargo.loadOutDirsFromCheck = true - # See https://github.com/rust-analyzer/rust-analyzer/issues/6448 - '' - '' - [language.bash] - filetypes = ["sh"] - roots = [".git", ".hg"] - command = "${nodePackages.bash-language-server}/bin/bash-language-server" - args = ["start"] - '' - ]; -} diff --git a/modules/latex.nix b/modules/latex.nix deleted file mode 100644 index 3756dd5..0000000 --- a/modules/latex.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, lib, ...}: -{ - home.packages = [ - pkgs.texlive.combined.scheme-full - ]; -} diff --git a/odin/base.nix b/odin/common_configuration.nix similarity index 99% rename from odin/base.nix rename to odin/common_configuration.nix index d25993d..456e0ae 100644 --- a/odin/base.nix +++ b/odin/common_configuration.nix @@ -4,7 +4,7 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.initrd.checkJournalingFS = true; - boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_16; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_17; boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; # # Cross-build arm @@ -117,7 +117,7 @@ # List packages installed in system profile. To search, run: # $ nix search wget - environment.systemPackages = with pkgs; [ tmux firefox kakoune vim ]; + environment.systemPackages = with pkgs; [ tmux firefox kakoune vim git ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. diff --git a/odin/odin-intel.nix b/odin/configuration-intel.nix similarity index 100% rename from odin/odin-intel.nix rename to odin/configuration-intel.nix diff --git a/odin/odin-nvidia.nix b/odin/configuration-nvidia.nix similarity index 100% rename from odin/odin-nvidia.nix rename to odin/configuration-nvidia.nix diff --git a/thor/flake.lock b/thor/flake.lock deleted file mode 100644 index 407ba3e..0000000 --- a/thor/flake.lock +++ /dev/null @@ -1,65 +0,0 @@ -{ - "nodes": { - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1648834319, - "narHash": "sha256-i5Aj4Aw64D/A0X6XW5LxSS4XBnYj7gMz+kN4dpsbdk8=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "0bdbdea2e26c984b096f4f7d10e3c88536a980b0", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-21.11", - "repo": "home-manager", - "type": "github" - } - }, - "nixos-hardware": { - "locked": { - "lastModified": 1648141026, - "narHash": "sha256-h8e3+5EZFbYHTMb0DN2ACuQTJBNHpqigvmEV1w2WIuE=", - "owner": "NixOS", - "repo": "nixos-hardware", - "rev": "feceb4d24f582817d8f6e737cd40af9e162dee05", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixos-hardware", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1649024309, - "narHash": "sha256-AWbvj/NHZXVwAnHaVOFlxg7tcNerEKrKBmgGfztSHWM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "af0a9bc0e5341855518e9c1734d7ef913e5138b9", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-21.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "home-manager": "home-manager", - "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/thor/flake.nix b/thor/flake.nix deleted file mode 100644 index 8063860..0000000 --- a/thor/flake.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - description = "Thor system configuration"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-21.11"; - nixos-hardware.url = "github:NixOS/nixos-hardware"; - # nixos-hardware.inputs.nixpkgs.follows = "nixpkgs"; - }; - - outputs = { self, nixpkgs, home-manager, nixos-hardware }: - let - system = "x86_64-linux"; - pkgs = import nixpkgs { - inherit system; - config = { allowUnfree = true; }; - }; - lib = nixpkgs.lib; - in - { - nixosConfigurations = { - thor = lib.nixosSystem { - inherit system; - - modules = [ - nixos-hardware.nixosModules.common-cpu-amd - nixos-hardware.nixosModules.common-pc-ssd - ./configuration.nix - ]; - }; - }; - }; - -} From a1b6645fb8bd1ada634612ba4a33fe8e741f7985 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 6 May 2022 20:13:48 +0200 Subject: [PATCH 16/80] New theme + thor stable --- flake.lock | 30 +++++++++++++++--------------- themes/thomorrow-night.nix | 19 +++++++++++++++++++ thor/configuration.nix | 2 +- 3 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 themes/thomorrow-night.nix diff --git a/flake.lock b/flake.lock index 23737c8..122762c 100644 --- a/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ ] }, "locked": { - "lastModified": 1651007218, - "narHash": "sha256-NkQAMtqW0PSJTbLHalyZtaqj0ai2TZMOedug9yDIcFw=", + "lastModified": 1651519540, + "narHash": "sha256-3k6p8VsTwwRPQjE8rrMh+o2AZACZn/eeYJ7ivdQ/Iro=", "owner": "nix-community", "repo": "home-manager", - "rev": "d14adb99f3fb562ec74ad18c032efc154b438034", + "rev": "d93d56ab8c1c6aa575854a79b9d2f69d491db7d0", "type": "github" }, "original": { @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1651262513, - "narHash": "sha256-5iW1fevaAD0Rbtbgb4I++7fyaND3oarGs3mAjyadE0Y=", + "lastModified": 1651652192, + "narHash": "sha256-3FUsIJ81p57rOxODRVZ+anhnVav96VWbgNA1H3Np+TY=", "owner": "nix-community", "repo": "home-manager", - "rev": "f8b51be7149a0735e87b232d21ae4f852619eac7", + "rev": "267462dfb36d447421c789a3adf9d460cd09c147", "type": "github" }, "original": { @@ -73,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1651310835, - "narHash": "sha256-MLk/zsLlbPhwFucxL64Fr+oIrvQC2/76Ap2F7ekbPNI=", + "lastModified": 1651662302, + "narHash": "sha256-utlTjLa1s4ezdQIUvnBtmA9TBYFrPlXpAJnCXEiZFZI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd3e33d696b81e76b30160dfad2efb7ac1f19879", + "rev": "dff5496b12817e3d019983827c4b7ba7beb96580", "type": "github" }, "original": { @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1651286718, - "narHash": "sha256-sPGOKDL6TNRfLnwarbdlmeD0FW4BmPfOoB/AMax91pg=", + "lastModified": 1651632340, + "narHash": "sha256-Kq1yghXZxJ12Sw1nbzoO2Ag8/AxqbbD84wiz8go159o=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "8a687a6e5dc1f5c39715b01521a7aa0122529a05", + "rev": "88991ffbd57e10b474ea768ec0b54c4f379c566c", "type": "github" }, "original": { @@ -147,11 +147,11 @@ }, "unstable": { "locked": { - "lastModified": 1651007983, - "narHash": "sha256-GNay7yDPtLcRcKCNHldug85AhAvBpTtPEJWSSDYBw8U=", + "lastModified": 1651558728, + "narHash": "sha256-8HzyRnWlgZluUrVFNOfZAOlA1fghpOSezXvxhalGMUo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e10da1c7f542515b609f8dfbcf788f3d85b14936", + "rev": "cbe587c735b734405f56803e267820ee1559e6c1", "type": "github" }, "original": { diff --git a/themes/thomorrow-night.nix b/themes/thomorrow-night.nix new file mode 100644 index 0000000..48df0a0 --- /dev/null +++ b/themes/thomorrow-night.nix @@ -0,0 +1,19 @@ +# Onedark palette (https://github.com/chriskempson/tomorrow-theme) +rec { + background = "#1d1f21"; + currentLine = "#282a2e"; + selection = "#373b41"; + foreground = "#c5c8c6"; + comment = "#969896"; + red = "#cc6666"; + orange = "#de935f"; + yellow = "#f0c674"; + green = "#b5bd68"; + aqua = "#8abeb7"; + blue = "#81a2be"; + purple = "#b294bb"; + + black = background; + white = foreground; + cyan = aqua; +} diff --git a/thor/configuration.nix b/thor/configuration.nix index fa9de7e..a7b001b 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -172,7 +172,7 @@ kvmgt.enable = true; libvirtd.enable = true; podman.enable = true; - virtualbox.host.enable = true; + # virtualbox.host.enable = true; }; nixpkgs.config = { From 0cbcfa9fa0e8e91f61f657d8bc15e078a06780eb Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sat, 7 May 2022 15:18:05 +0200 Subject: [PATCH 17/80] Update thor flake --- config.nix | 4 - flake.nix | 5 +- home_manager/modules/pro_audio.nix | 7 +- home_manager/odin.nix | 9 +- thor.nix => home_manager/thor.nix | 73 ++----- nixos/base.nix | 254 ----------------------- nixos/big_data.nix | 276 ------------------------- nixos/laptop.nix | 27 --- nixos/odin-intel.nix | 37 ---- nixos/odin-nvidia.nix | 36 ---- nixos/pro_audio.nix | 61 ------ nixos/thor.nix | 223 -------------------- {nixos => nixos_modules}/defcon.nix | 0 {nixos => nixos_modules}/k3s.nix | 0 {nixos => nixos_modules}/mind.nix | 0 {nixos => nixos_modules}/pentablet.nix | 0 odin.nix | 199 ------------------ overlays.nix | 4 - thor/configuration.nix | 2 +- 19 files changed, 27 insertions(+), 1190 deletions(-) delete mode 100644 config.nix rename thor.nix => home_manager/thor.nix (70%) delete mode 100644 nixos/base.nix delete mode 100644 nixos/big_data.nix delete mode 100644 nixos/laptop.nix delete mode 100644 nixos/odin-intel.nix delete mode 100644 nixos/odin-nvidia.nix delete mode 100644 nixos/pro_audio.nix delete mode 100644 nixos/thor.nix rename {nixos => nixos_modules}/defcon.nix (100%) rename {nixos => nixos_modules}/k3s.nix (100%) rename {nixos => nixos_modules}/mind.nix (100%) rename {nixos => nixos_modules}/pentablet.nix (100%) delete mode 100644 odin.nix delete mode 100644 overlays.nix diff --git a/config.nix b/config.nix deleted file mode 100644 index 7e0a949..0000000 --- a/config.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - allowUnfree = true; - allowUnsupportedSystem = true; -} diff --git a/flake.nix b/flake.nix index 1da0cd3..37de60d 100644 --- a/flake.nix +++ b/flake.nix @@ -63,6 +63,7 @@ nixpkgsSettings = { inherit overlays system; config = { + extraOptions = "experimental-features = nix-command flakes"; allowUnfree = true; permittedInsecurePackages = [ "electron-9.4.4" ]; # authy dependency }; @@ -117,7 +118,7 @@ modules = thorBaseModules ++ [ home-manager.nixosModules.home-manager homeManagerSettings - { home-manager.users.bertof = import ./thor.nix; } + { home-manager.users.bertof = import ./home_manager/thor.nix; } ] ++ extraModules; }; @@ -126,7 +127,7 @@ modules = thorBaseModules ++ [ home-manager-unstable.nixosModules.home-manager homeManagerSettings - { home-manager.users.bertof = import ./thor.nix; } + { home-manager.users.bertof = import ./home_manager/thor.nix; } ] ++ extraModules; }; diff --git a/home_manager/modules/pro_audio.nix b/home_manager/modules/pro_audio.nix index 122427e..d19e856 100644 --- a/home_manager/modules/pro_audio.nix +++ b/home_manager/modules/pro_audio.nix @@ -14,14 +14,14 @@ in carla rnnoise ardour - # zrythm + unstable.zrythm mixxx # Plugins # artyFX autotalent boops - # cardinal + unstable.cardinal geonkick helm (lsp-plugins.overrideAttrs (old: { version = "1.2.0"; })) @@ -31,7 +31,8 @@ in # stochas # sunvox # surge - surge-XT + unstable.giada + unstable.surge-XT talentedhack tunefish vocproc diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 7730519..3d0b940 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -2,7 +2,7 @@ { home = { packages = with pkgs; [ - # # pulseaudio + # pulseaudio easyeffects tex2nix @@ -101,7 +101,7 @@ yq zip zoom-us - zotero + unstable.zotero ]; }; @@ -109,7 +109,7 @@ ./basic_env.nix ./modules/cpp.nix - ./modules/go.nix + # ./modules/go.nix ./modules/java.nix ./modules/javascript.nix ./modules/latex.nix @@ -125,11 +125,10 @@ ./modules/kakoune.nix # ./modules/keepassxc.nix ./modules/kitty.nix - ./modules/latex.nix ./modules/libinput-gestures.nix ./modules/mangohud.nix ./modules/megasync.nix - # ./modules/noti.nix + ./modules/noti.nix ./modules/obs-studio.nix ./modules/office.nix ./modules/onedrive.nix diff --git a/thor.nix b/home_manager/thor.nix similarity index 70% rename from thor.nix rename to home_manager/thor.nix index 3730276..f569da3 100644 --- a/thor.nix +++ b/home_manager/thor.nix @@ -14,7 +14,7 @@ ark authy bitwarden - (blender.override { cudaSupport = true; }) + (unstable.blender.override { cudaSupport = true; }) btop catgirl # IRC cava @@ -111,7 +111,7 @@ yq zip zoom-us - zotero + unstable.zotero retroarchFull # ( @@ -128,86 +128,43 @@ }; imports = [ - ./modules/configurations.nix - ./modules/fonts.nix + ./basic_env.nix + + ./modules/cpp.nix + # ./modules/go.nix + ./modules/java.nix + ./modules/javascript.nix + ./modules/latex.nix + ./modules/python.nix + ./modules/rust.nix ./modules/alacritty.nix - ./modules/bash.nix - ./modules/bat.nix - ./modules/bottom.nix - ./modules/broot.nix # ./modules/bspwm.nix - ./modules/dircolors.nix - ./modules/direnv.nix # ./modules/dunst.nix - ./modules/fzf.nix - ./modules/git.nix - ./modules/go.nix - ./modules/gpg.nix # ./modules/grobi.nix - ./modules/info.nix - ./modules/java.nix + ./modules/gtk_theme.nix ./modules/joystickwake.nix - ./modules/jq.nix ./modules/kakoune.nix # ./modules/keepassxc.nix - ./modules/keychain.nix ./modules/kitty.nix - # ./modules/latex.nix - ./modules/lf.nix - ./modules/lorri.nix - ./modules/man.nix ./modules/mangohud.nix ./modules/megasync.nix - ./modules/nix-index.nix ./modules/noti.nix ./modules/obs-studio.nix ./modules/office.nix ./modules/onedrive.nix # ./modules/picom.nix # ./modules/polybar.nix - ./modules/pycharm.nix - ./modules/gtk_theme.nix - ./modules/rofi.nix + ./modules/pro_audio.nix ./modules/rofimoji.nix + ./modules/rofi.nix # ./modules/screen_locker.nix - ./modules/ssh.nix - ./modules/starship.nix + # ./modules/security.nix # ./modules/sxhkd.nix ./modules/syncthing.nix ./modules/terminator.nix - ./modules/tmux.nix # ./modules/update_background.nix ./modules/webapp.nix # ./modules/xidlehook.nix - ./modules/zoxide.nix - ./modules/zsh.nix - - ./modules/pro_audio.nix - # ./modules/security.nix - - ./modules/shell_aliases.nix ]; - - - services = { - # blueman-applet.enable = true; - # caffeine.enable = true; - # cbatticon.enable = true; - # gnome-keyring.enable = true; - # network-manager-applet.enable = true; - # playerctld.enable = true; - # poweralertd.enable = true; - }; - - # xsession = { - # enable = true; - # numlock.enable = true; - # initExtra = '' - # ## Touchpad - # ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Natural Scrolling Enabled' 1 - # ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Tapping Enabled' 1 - # ''; - # }; - } diff --git a/nixos/base.nix b/nixos/base.nix deleted file mode 100644 index 0b5ded8..0000000 --- a/nixos/base.nix +++ /dev/null @@ -1,254 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - imports = [ - - - - /etc/nixos/hardware-configuration.nix - # ./laptop.nix - # ./pentablet.nix - ./pro_audio.nix - # ./defcon.nix - # ./mind.nix - # ./k3s.nix - ./big_data.nix - ]; - - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.initrd.checkJournalingFS = true; - boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_16; - boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; - - # # Cross-build arm - boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - - # Use same ACPI identifier as Dell Ubuntu - boot.kernelParams = [ - "acpi_osi=Linux-Dell-Video" - ]; - - networking = { - hostName = "odin"; - networkmanager.enable = true; - - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - useDHCP = false; - interfaces = { enp60s0.useDHCP = true; wlp0s20f3.useDHCP = true; }; - - # Configure network proxy if necessary - # proxy.default = "http://user:password@proxy:port/"; - # proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Open ports in the firewall. - # firewall.allowedTCPPorts = [ ... ]; - # firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # firewall.enable = false; - hosts = { - "*.engine.sesar.int" = [ "172.20.28.210" ]; - "vcenter.sesar.int" = [ "159.149.147.137" ]; - }; - }; - - # Set your time zone. - time.timeZone = "Europe/Rome"; - - # Select internationalisation properties. - i18n.defaultLocale = "it_IT.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "it"; - }; - - - # X11 windowing system. - services.xserver = { - enable = true; - # Enable the GNOME 3 Desktop Environment. - # displayManager.gdm = { - # enable = true; - # wayland = true; - # nvidiaWayland = true; - # }; - desktopManager.gnome.enable = true; - # windowManager.bspwm.enable = true; - - # Configure keymap in X11 - layout = "it"; - extraLayouts = { - eng = { languages = [ "eng" ]; description = "English layout for external keyboard"; }; - }; - xkbOptions = "eurosign:e;"; - libinput.enable = true; - }; - - # Enable CUPS to print documents. - services.printing = { - enable = true; - drivers = with pkgs; [ gutenprint cups-kyocera ]; - }; - - services.fwupd.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; - }; - environment.sessionVariables.LD_LIBRARY_PATH = lib.mkForce "${config.services.pipewire.package.jack}/lib"; # Temporary fix for WebKitGTK - - # # Tablet - # hardware.opentabletdriver = { - # enable = true; - # daemon.enable = true; - # }; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.bertof = { - isNormalUser = true; - extraGroups = [ "audio" "input" "docker" "flashrom" "libvirtd" "network" "usb" "video" "wheel" ]; - shell = pkgs.zsh; - openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+zsSWZFFzQKnATCAvtG+iuSm4qkZHjCtHzGa9B/71W" ]; - }; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ tmux firefox kakoune vim ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - programs.flashrom.enable = true; - programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; - - programs.steam.enable = true; - programs.dconf.enable = true; - programs.zsh = { enable = true; syntaxHighlighting.enable = true; }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - services.openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; }; - - # Cooling management - services.thermald.enable = true; - - services.snapper = { - configs = - let - bertofExtraConfig = '' - ALLOW_USERS="bertof" - TIMELINE_CREATE=yes - TIMELINE_CLEANUP=yes - ''; - common = { extraConfig = bertofExtraConfig; }; - in - { - bertof_home = common // { subvolume = "/home/bertof"; }; - bertof_music = common // { subvolume = "/home/bertof/Musica"; }; - bertof_downloads = common // { subvolume = "/home/bertof/Scaricati"; }; - bertof_images = common // { subvolume = "/home/bertof/Immagini"; }; - bertof_videos = common // { subvolume = "/home/bertof/Video"; }; - bertof_documents = common // { subvolume = "/home/bertof/Documenti"; }; - bertof_games_ssd = common // { subvolume = "/home/bertof/Giochi/SSD"; }; - # bertof_games_hdd = common // { subvolume = "/home/bertof/Giochi/HDD"; }; - bertof_git = common // { subvolume = "/home/bertof/Documenti/Git"; }; - }; - }; - - services.dbus.packages = with pkgs; [ dconf ]; - services.gnome.gnome-keyring.enable = true; - hardware.bluetooth.enable = true; - # services.blueman.enable = true; - services.zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; - services.gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; }; - # services.tlp.enable = false; - services.avahi = { - enable = true; - openFirewall = true; - nssmdns = true; - publish = { - enable = true; - addresses = true; - domain = true; - userServices = true; - workstation = true; - }; - extraServiceFiles = { - ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; - }; - }; - - # SMART - services.smartd = { enable = true; notifications.x11.enable = true; }; - - # FPRINTD - # services.fprintd = { - # enable = true; - # tod = { enable = true; driver = pkgs.libfprint-2-tod1-goodix; }; - # }; - security.pam.services.login.fprintAuth = true; - security.pam.services.xscreensaver.fprintAuth = true; - - # Clamav - services.clamav = { daemon.enable = true; updater.enable = true; }; - - # Power-profiles - services.power-profiles-daemon.enable = true; - - # services.teamviewer.enable = true; - - # Virtualisation - virtualisation = { - docker.enable = true; - kvmgt.enable = true; - libvirtd.enable = true; - podman.enable = true; - virtualbox.host.enable = true; - }; - - # Allow completion for system packages - environment.pathsToLink = [ "/share/zsh" ]; - - security.sudo.extraConfig = '' - Defaults pwfeedback - ''; - security.pam.services.sddm.enableGnomeKeyring = true; - - nixpkgs.config = { - allowUnfree = true; - packageOverrides = pkgs: { - steam = pkgs.steam.override { - extraPkgs = pkgs: with pkgs; [ icu ]; - }; - }; - }; - nix = { - package = pkgs.nixFlakes; - extraOptions = lib.optionalString (config.nix.package == pkgs.nixFlakes) - "experimental-features = nix-command flakes"; - gc.automatic = true; - }; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "21.11"; # Did you read the comment? -} diff --git a/nixos/big_data.nix b/nixos/big_data.nix deleted file mode 100644 index a734dbc..0000000 --- a/nixos/big_data.nix +++ /dev/null @@ -1,276 +0,0 @@ -{ config, lib, pkgs, ... }: -let - setup_scirpt = '' - sudo mkdir -p /hdfs - sudo chown -R hdfs:hadoop /hdfs - - for p in {nn,dn,jn,rm,nm,jhs,HTTP}; do - sudo kadmin.local -q "ank -randkey $p/my.engine"; - sudo kadmin.local -q "xst -k /etc/hadoop.keytab $p/my.engine"; - sudo kadmin.local -q "ktrem -k /etc/hadoop.keytab $p/my.engine old" - done - sudo chown hdfs:hadoop /etc/hadoop.keytab - - - sudo kadmin.local -q "ank -randkey spark/my.engine"; - sudo kadmin.local -q "xst -k /etc/spark.keytab spark/my.engine"; - sudo kadmin.local -q "ktrem -k /etc/spark.keytab spark/my.engine old" - sudo chown spark:spark /etc/spark.keytab - ''; - hadoop_keytab_path = "/etc/hadoop.keytab"; - spark_keytab_path = "/etc/spark.keytab"; - pysparkPackageSelector = p: with p; [ numpy pyspark ]; - pysparkEnv = pkgs.python3.withPackages pysparkPackageSelector; - hadoopConf = import { - inherit pkgs lib; - cfg = config.services.hadoop; - }; - hadoopConfDir = "${hadoopConf}/"; - spark = pkgs.spark.override { - extraPythonPackages = pysparkPackageSelector pkgs.python3.pkgs; - }; - sparkConfDir = pkgs.stdenv.mkDerivation { - name = "spark-conf"; - dontUnpack = true; - installPhase = '' - # source standard environment - . $stdenv/setup - - # shorthands - base_conf=${pkgs.spark}/lib/${pkgs.spark.untarDir}/conf/ - - # create output dirs for new derivation - mkdir -p $out/ - - # link unchanged files from the original gnome-session - for f in $base_conf/*.template ; do - ln -sf $f $out/ - done - - # change selected files - cp $out/log4j.properties{.template,} - - cat > $out/spark-env.sh <<- STOP - export JAVA_HOME="${pkgs.jdk8}" - export SPARK_HOME="${pkgs.spark}/lib/${pkgs.spark.untarDir}" - export SPARK_DIST_CLASSPATH=$(${pkgs.hadoop}/bin/hadoop classpath) - export PYSPARK_PYTHON="${pysparkEnv.outPath}/bin/${pysparkEnv.executable}" - export PYSPARK_DRIVER_PYTHON="${pysparkEnv.outPath}/bin/${pysparkEnv.executable}" - export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH" - export HADOOP_CONF_DIR="${hadoopConfDir}" - export SPARKR_R_SHELL="${pkgs.R}/bin/R" - export PATH="\$PATH:${pkgs.R}/bin" - STOP - - cat > $out/spark-defaults.conf <<- STOP - spark.eventLog.enabled true - spark.eventLog.dir hdfs://localhost:/logs/spark - spark.history.fs.logDirectory hdfs://localhost:/logs/spark - # spark.yarn.keytab ${spark_keytab_path} - # spark.yarn.principal spark/my.engine@MY.ENGINE - spark.history.ui.acls.enable true - spark.history.kerberos.enabled true - spark.history.kerberos.keytab ${spark_keytab_path} - spark.history.kerberos.principal spark/my.engine@MY.ENGINE - spark.yarn.appMasterEnv.PYSPARK_PYTHON ${pysparkEnv.outPath}/bin/${pysparkEnv.executable} - spark.yarn.appMasterEnv.PYTHONPATH ${pysparkEnv.outPath}/lib/${pysparkEnv.executable}/site-packages - spark.executorEnv.PYSPARK_PYTHON ${pysparkEnv.outPath}/bin/${pysparkEnv.executable} - STOP - ''; - }; -in -{ - - networking = { - hosts = { - "127.0.0.1" = [ - "ds.my.engine" - "kdc.my.engine" - "my.engine" - ]; - }; - - }; - - services = { - spark = { - package = spark; - master = { enable = true; restartIfChanged = true; }; - worker = { enable = true; restartIfChanged = true; }; - confDir = sparkConfDir; - }; - - hadoop = { - coreSite = { - "fs.defaultFS" = "hdfs://my.engine:8020"; - - # HDFS IMPERSONATION - "hadoop.proxyuser.hdfs.hosts" = "*"; - "hadoop.proxyuser.hdfs.groups" = "*"; - - # HIVE IMPERSONATION - "hadoop.proxyuser.hive.hosts" = "*"; - "hadoop.proxyuser.hive.groups" = "*"; - - # ENABLE AUTHENTICATION - "hadoop.security.authentication" = "kerberos"; - "hadoop.security.authorization" = "true"; - "hadoop.rpc.protection" = "privacy"; - - "hadoop.security.auth_to_local" = '' - RULE:[2:$1/$2@$0]([ndj]n/.*@MY\.ENGINE)s/.*/hdfs/ - RULE:[2:$1/$2@$0]([rn]m/.*@MY\.ENGINE)s/.*/yarn/ - RULE:[2:$1/$2@$0](jhs/.*@MY\.ENGINE)s/.*/mapred/ - DEFAULT - ''; - }; - hdfsSite = { - # DATA - "dfs.namenode.name.dir" = "/hdfs/dfs/name"; - "dfs.datanode.data.dir" = "/hdfs/dfs/data"; - "dfs.journalnode.edits.dir" = "/hdfs/dfs/edits"; - - # HDFS SECURITY - "dfs.block.access.token.enable" = "true"; - - # NAME NODE SECURITY - "dfs.namenode.keytab.file" = hadoop_keytab_path; - "dfs.namenode.kerberos.principal" = "nn/my.engine@MY.ENGINE"; - "dfs.namenode.kerberos.internal.spnego.principal" = "HTTP/my.engine@MY.ENGINE"; - - # SECONDARY NAME NODE SECURITY - "dfs.secondary.namenode.keytab.file" = hadoop_keytab_path; - "dfs.secondary.namenode.kerberos.principal" = "nn/my.engine@MY.ENGINE"; - "dfs.secondary.namenode.kerberos.internal.spnego.principal" = "HTTP/my.engine@MY.ENGINE"; - - # DATA NODE SECURITY - "dfs.datanode.keytab.file" = hadoop_keytab_path; - "dfs.datanode.kerberos.principal" = "dn/my.engine@MY.ENGINE"; - - # JOURNAL NODE SECURITY - "dfs.journalnode.keytab.file" = hadoop_keytab_path; - "dfs.journalnode.kerberos.principal" = "jn/my.engine@MY.ENGINE"; - - # WEBHDFS SECURITY - "dfs.webhdfs.enabled" = "true"; - - # WEB AUTHENTICATION CONFIG - "dfs.web.authentication.kerberos.principal" = "HTTP/my.engine@MY.ENGINE"; - "dfs.web.authentication.kerberos.keytab" = hadoop_keytab_path; - "ignore.secure.ports.for.testing" = "true"; - "dfs.http.policy" = "HTTP_ONLY"; - "dfs.data.transfer.protection" = "privacy"; - - # ## MULTIHOMED - # "dfs.namenode.rpc-bind-host" = "0.0.0.0"; - # "dfs.namenode.servicerpc-bind-host" = "0.0.0.0"; - # "dfs.namenode.http-bind-host" = "0.0.0.0"; - # "dfs.namenode.https-bind-host" = "0.0.0.0"; - # "dfs.client.use.datanode.hostname" = "true"; # force connection by hostname - # "dfs.datanode.use.datanode.hostname" = "true"; # force connection by hostname - }; - yarnSite = { - "yarn.nodemanager.admin-env" = "PATH=$PATH"; - "yarn.nodemanager.aux-services" = "mapreduce_shuffle"; - "yarn.nodemanager.aux-services.mapreduce_shuffle.class" = "org.apache.hadoop.mapred.ShuffleHandler"; - "yarn.nodemanager.bind-host" = "0.0.0.0"; - "yarn.nodemanager.container-executor.class" = "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor"; - "yarn.nodemanager.env-whitelist" = "JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,LANG,TZ"; - "yarn.nodemanager.linux-container-executor.group" = "hadoop"; - "yarn.nodemanager.linux-container-executor.path" = "/run/wrappers/yarn-nodemanager/bin/container-executor"; - "yarn.nodemanager.log-dirs" = "/var/log/hadoop/yarn/nodemanager"; - "yarn.resourcemanager.bind-host" = "0.0.0.0"; - "yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler"; - - "yarn.resourcemanager.keytab" = hadoop_keytab_path; - "yarn.resourcemanager.principal" = "rm/my.engine@MY.ENGINE"; - "yarn.nodemanager.keytab" = hadoop_keytab_path; - "yarn.nodemanager.principal" = "nm/my.engine@MY.ENGINE"; - - # "yarn.nodemanager.container-executor.class" = "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor"; - - "yarn.scheduler.capacity.root.queues" = "default"; - "yarn.scheduler.capacity.root.default.capacity" = 100; - # "yarn.scheduler.capacity.root.default.state" = "RUNNING"; - "yarn.scheduler.capacity.root.acl_submit_applications" = "hadoop,yarn,mapred,hdfs"; - }; - extraConfDirs = [ ]; - - hdfs = { - namenode = { enable = true; formatOnInit = true; restartIfChanged = true; }; - datanode = { enable = true; restartIfChanged = true; }; - journalnode = { enable = true; restartIfChanged = true; }; - zkfc = { enable = false; restartIfChanged = true; }; # ZOOKEEPER DISABLED, not using High Availability setup - httpfs = { enable = true; restartIfChanged = true; }; - }; - yarn = { - resourcemanager = { enable = true; restartIfChanged = true; }; - nodemanager = { enable = true; restartIfChanged = true; }; - }; - }; - - kerberos_server = { - enable = true; - realms."MY.ENGINE".acl = [ - { principal = "*/admin"; access = "all"; } - { principal = "*/my.engine"; access = "all"; } - ]; - }; - }; - - krb5 = { - enable = true; - realms = { - "MY.ENGINE" = { - admin_server = "kdc.my.engine"; - kdc = "kdc.my.engine"; - # default_domain = "my.engine"; - # kpasswd_server = "odin"; - }; - }; - domain_realm = { - # ".my.engine" = "MY.ENGINE"; - "my.engine" = "MY.ENGINE"; - }; - libdefaults = { - default_realm = "MY.ENGINE"; - dns_lookup_realm = true; - dns_lookup_kdc = true; - ticket_lifetime = "24h"; - renew_lifetime = "7d"; - forwardable = true; - }; - extraConfig = '' - [logging] - default = FILE:/var/log/krb5libs.log - kdc = FILE:/var/log/krb5kdc.log - admin_server = FILE:/var/log/kadmind.log - ''; - }; - - users.users.bertof.extraGroups = [ "hadoop" ]; - - systemd.services.spark-history = { - path = with pkgs; [ procps openssh nettools ]; - description = "spark history service."; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - restartIfChanged = true; - environment = { - SPARK_CONF_DIR = sparkConfDir; - SPARK_LOG_DIR = "/var/log/spark"; - }; - serviceConfig = { - Type = "forking"; - User = "spark"; - Group = "spark"; - WorkingDirectory = "${pkgs.spark}/lib/${pkgs.spark.untarDir}"; - ExecStart = "${pkgs.spark}/lib/${pkgs.spark.untarDir}/sbin/start-history-server.sh"; - ExecStop = "${pkgs.spark}/lib/${pkgs.spark.untarDir}/sbin/stop-history-server.sh"; - TimeoutSec = 300; - StartLimitBurst = 10; - Restart = "always"; - }; - }; - -} diff --git a/nixos/laptop.nix b/nixos/laptop.nix deleted file mode 100644 index 98b5971..0000000 --- a/nixos/laptop.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ config, lib, ... }: -{ - # SSD swappines - boot.kernel.sysctl = { - "vm.swappiness" = lib.mkDefault 1; - }; - - # Atheros WiFi module - boot.blacklistedKernelModules = lib.optionals (!config.hardware.enableRedistributableFirmware) [ - "ath3k" - ]; - - # ACPI support - boot = { - kernelModules = [ "acpi_call" ]; - extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; - }; - - # Touchpad support - services.xserver.libinput.enable = lib.mkDefault true; - - # SSD trim service - services.fstrim.enable = lib.mkDefault true; - - # Hard disk protection if the laptop falls: - services.hdapsd.enable = lib.mkDefault true; -} diff --git a/nixos/odin-intel.nix b/nixos/odin-intel.nix deleted file mode 100644 index 893c506..0000000 --- a/nixos/odin-intel.nix +++ /dev/null @@ -1,37 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, ... }: - -{ - imports = [ - ./base.nix - ]; - - boot.initrd.kernelModules = [ "i915" ]; - - hardware.cpu.intel.updateMicrocode = config.hardware.enableRedistributableFirmware; - - hardware.opengl.enable = true; - hardware.opengl.extraPackages = with pkgs; [ - intel-media-driver - vaapiIntel - vaapiVdpau - libvdpau-va-gl - ]; - - services.xserver = { - displayManager.gdm = { - enable = true; - wayland = true; - }; - }; - - # This runs only Intel and nvidia does not drain power. - ##### disable nvidia for a very nice battery life. - hardware.nvidiaOptimus.disable = true; - boot.blacklistedKernelModules = [ "nouveau" "nvidia" ]; - services.xserver.videoDrivers = [ "intel" ]; - hardware.opengl.driSupport32Bit = true; -} diff --git a/nixos/odin-nvidia.nix b/nixos/odin-nvidia.nix deleted file mode 100644 index c21ef24..0000000 --- a/nixos/odin-nvidia.nix +++ /dev/null @@ -1,36 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, ... }: - -{ - imports = - [ - - - ./base.nix - ]; - - boot.initrd.kernelModules = [ "i915" ]; - - hardware.cpu.intel.updateMicrocode = config.hardware.enableRedistributableFirmware; - - services.xserver = { - videoDrivers = [ "nvidia" ]; - displayManager.sddm = { - enable = true; - autoNumlock = true; - }; - }; - - hardware.nvidia.prime = { - offload.enable = false; - sync.enable = true; - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; - # hardware.nvidia.modesetting.enable = true; - # hardware.nvidia.package = pkgs.linuxPackages.nvidia_x11; - hardware.opengl.driSupport32Bit = true; -} diff --git a/nixos/pro_audio.nix b/nixos/pro_audio.nix deleted file mode 100644 index fd2f706..0000000 --- a/nixos/pro_audio.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ pkgs, lib, ... }: { - boot = { - # kernelModules = [ "snd-seq" "snd-rawmidi" ]; - # kernel.sysctl = { "vm.swappiness" = 10; "fs.inotify.max_user_watches" = 524288; }; - # kernelParams = [ "threadirq" ]; - - # kernelPatches = lib.singleton { - # name = "pro_audio"; - # patch = null; - # extraConfig = '' - # PREEMPT_RT y - # PREEMPT y - # IOSCHED_DEADLINE y - # DEFAULT_DEADLINE y - # DEFAULT_IOSCHED "deadline" - # HPET_TIMER y - # CPU_FREQ n - # TREE_RCU_TRACE n - # ''; - # }; - - # postBootCommands = '' - # echo 2048 > /sys/class/rtc/rtc0/max_user_freq - # echo 2048 > /proc/sys/dev/hpet/max-user-freq - # # setpci -v -d *:* latency_timer=b0 - # # setpci -v -s $00:1b.0 latency_timer=ff - # ''; - # The SOUND_CARD_PCI_ID can be obtained like so: - # $ lspci ¦ grep -i audio - }; - - # powerManagement.cpuFreqGovernor = "performance"; - - # fileSystems."/" = { options = "noatime errors=remount-ro"; }; - - security.pam.loginLimits = [ - { domain = "@audio"; item = "memlock"; type = "-"; value = "unlimited"; } - { domain = "@audio"; item = "rtprio"; type = "-"; value = "99"; } - { domain = "@audio"; item = "nofile"; type = "soft"; value = "99999"; } - { domain = "@audio"; item = "nofile"; type = "hard"; value = "99999"; } - ]; - - # services = { - # udev = { - # packages = [ pkgs.ffado ]; # If you have a FireWire audio interface - # extraRules = '' - # KERNEL=="rtc0", GROUP="audio" - # KERNEL=="hpet", GROUP="audio" - # ''; - # }; - # cron.enable = false; - # }; - - environment.shellInit = '' - export VST_PATH=/nix/var/nix/profiles/default/lib/vst:/var/run/current-system/sw/lib/vst:~/.vst - export LXVST_PATH=/nix/var/nix/profiles/default/lib/lxvst:/var/run/current-system/sw/lib/lxvst:~/.lxvst - export LADSPA_PATH=/nix/var/nix/profiles/default/lib/ladspa:/var/run/current-system/sw/lib/ladspa:~/.ladspa - export LV2_PATH=/nix/var/nix/profiles/default/lib/lv2:/var/run/current-system/sw/lib/lv2:~/.lv2 - export DSSI_PATH=/nix/var/nix/profiles/default/lib/dssi:/var/run/current-system/sw/lib/dssi:~/.dssi - ''; -} diff --git a/nixos/thor.nix b/nixos/thor.nix deleted file mode 100644 index e681db1..0000000 --- a/nixos/thor.nix +++ /dev/null @@ -1,223 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, lib, ... }: - -{ - imports = [ - - - /etc/nixos/hardware-configuration.nix - ./pro_audio.nix - ./big_data.nix - ]; - - boot = { - binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; - loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - initrd = { - checkJournalingFS = true; - luks.devices = { - root = { - device = "/dev/nvme0n1p2"; - preLVM = true; - allowDiscards = true; - }; - }; - }; - }; - - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; - - environment = { - pathsToLink = [ "/share/zsh" ]; - systemPackages = with pkgs; [ - kakoune - tmux - vim - ]; - }; - - hardware = { - bluetooth.enable = true; - enableRedistributableFirmware = true; - pulseaudio.enable = false; - # nvidia.modesetting.enable = true; - }; - - i18n.defaultLocale = "it_IT.UTF-8"; - - programs = { - dconf.enable = true; - flashrom.enable = true; - gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - steam = { - enable = true; - }; - zsh = { - enable = true; - syntaxHighlighting.enable = true; - }; - }; - - networking = { - hostName = "thor"; # Define your hostname. - interfaces = { - eno1.useDHCP = true; - wlp5s0.useDHCP = true; - }; - networkmanager.enable = true; - useDHCP = false; - hosts = { - "*.engine.sesar.int" = [ "172.20.28.210" ]; - "vcenter.sesar.int" = [ "172.20.28.20" ]; - }; - }; - - time.timeZone = "Europe/Rome"; - - services = { - avahi = { - enable = true; - openFirewall = true; - nssmdns = true; - publish = { - enable = true; - addresses = true; - domain = true; - userServices = true; - workstation = true; - }; - extraServiceFiles = { - ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; - }; - }; - clamav = { daemon.enable = true; updater.enable = true; }; - dbus.packages = with pkgs; [ pkgs.dconf ]; - gnome.gnome-keyring.enable = true; - gvfs = { enable = true; package = pkgs.gnome3.gvfs; }; - fwupd.enable = true; - openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; forwardX11 = true; }; - pipewire = { - enable = true; - pulse.enable = true; - jack.enable = true; - alsa = { - enable = true; - support32Bit = true; - }; - media-session.enable = true; - }; - power-profiles-daemon.enable = true; - smartd = { enable = true; notifications.x11.enable = true; }; - snapper = { - configs = - let - common = { - extraConfig = '' - ALLOW_USERS="bertof" - TIMELINE_CREATE=yes - TIMELINE_CLEANUP=yes - ''; - }; - in - { - bertof_home = common // { subvolume = "/home/bertof"; }; - }; - }; - thermald.enable = true; - xserver = { - enable = true; - desktopManager = { - # gnome.enable = true; - # cinnamon.enable = true; - plasma5 = { - enable = true; - runUsingSystemd = true; - useQtScaling = true; - }; - }; - # displayManager.gdm = { enable = true; nvidiaWayland = true; }; - displayManager.sddm.enable = true; - layout = "us"; - videoDrivers = [ "nvidia" ]; - xkbOptions = "eurosign:e"; - }; - # gnome.gnome-remote-desktop.enable = true; - zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; - - ethminer = { - enable = false; - wallet = "0x73b788882e1C182123333f42FFf275B7dd7f51bb"; - toolkit = "opencl"; - rig = "thor"; - pool = "eth-eu1.nanopool.org"; - stratumPort = 9999; - - registerMail = ""; - }; - - - # teamviewer.enable = true; - }; - - services.teamviewer.enable = true; - - security = { - pam.services."kde" = { - enableKwallet = true; - }; - rtkit.enable = true; - sudo.extraConfig = '' - Defaults pwfeedback - ''; - }; - - sound.enable = false; - - users.users.bertof = { - isNormalUser = true; - extraGroups = [ "audio" "input" "docker" "flashrom" "libvirtd" "network" "networkmanager" "usb" "video" "wheel" ]; - openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+zsSWZFFzQKnATCAvtG+iuSm4qkZHjCtHzGa9B/71W" ]; - shell = pkgs.zsh; - useDefaultShell = false; - }; - - virtualisation = { - docker.enable = true; - kvmgt.enable = true; - libvirtd.enable = true; - podman.enable = true; - virtualbox.host.enable = true; - }; - - nixpkgs.config = { - allowUnfree = true; - packageOverrides = pkgs: { - steam = pkgs.steam.override { - extraPkgs = pkgs: with pkgs; [ ]; - extraLibraries = pkgs: with pkgs; [ fontconfig.lib icu freetype ]; - }; - }; - # cudaSupport = true; - }; - nix = { - package = pkgs.nixFlakes; - extraOptions = lib.optionalString (config.nix.package == pkgs.nixFlakes) - "experimental-features = nix-command flakes"; - gc.automatic = true; - }; - - system.stateVersion = "21.05"; # Did you read the comment? -} diff --git a/nixos/defcon.nix b/nixos_modules/defcon.nix similarity index 100% rename from nixos/defcon.nix rename to nixos_modules/defcon.nix diff --git a/nixos/k3s.nix b/nixos_modules/k3s.nix similarity index 100% rename from nixos/k3s.nix rename to nixos_modules/k3s.nix diff --git a/nixos/mind.nix b/nixos_modules/mind.nix similarity index 100% rename from nixos/mind.nix rename to nixos_modules/mind.nix diff --git a/nixos/pentablet.nix b/nixos_modules/pentablet.nix similarity index 100% rename from nixos/pentablet.nix rename to nixos_modules/pentablet.nix diff --git a/odin.nix b/odin.nix deleted file mode 100644 index 1b00a47..0000000 --- a/odin.nix +++ /dev/null @@ -1,199 +0,0 @@ -{ pkgs, lib, ... }: -{ - home = { - language.base = "it_IT.UTF-8"; - keyboard = { - layout = "it"; - options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; - }; - packages = with pkgs; [ - # pulseaudio - easyeffects - tex2nix - - kubectl - docker-compose - docker-machine - - arandr - ark - authy - bitwarden - btop - catgirl # IRC - cava - discord - droidcam - # element-desktop # matrix client - # evolution - file - filelight - # firefox - gallery-dl - # gnome.dconf-editor - # gnome.eog - # gnome.evince - # gnomeExtensions.appindicator - # gnomeExtensions.caffeine - # gnomeExtensions.dash-to-dock - # # gnomeExtensions.dynamic-panel-transparency - # gnomeExtensions.gtile - # gnomeExtensions.just-perfection - # gnomeExtensions.vitals - # gnome.file-roller - # gnome.gnome-screenshot - gnome.gnome-sound-recorder - gnome.gnome-sudoku - # gnome.gnome-system-monitor - # gnome.gnome-tweaks - # gnome.nautilus - # gnome.quadrapassel - # gnome.seahorse - # gnome.sushi - google-chrome - gucharmap - htop - httpie - # hyperspace-cli - inkscape - jetbrains.datagrip - kmail - kompare - kontact - korganizer - krita - ksystemlog - kubectl - lutris - kcolorchooser - kompare - korganizer - # keepassxc - kgpg - # kid3 # tag mp3 - krita - ksystemlog - lutris - meld - mmv-go - mpv - neofetch - nixos-option - nix-prefetch-scripts - nix-tree - obsidian - okular - openvpn - p7zip - pavucontrol - pcmanfm - pentablet-driver - procps - ripgrep - skypeforlinux - spotify - tdesktop - teams - tracker - transmission-gtk - unrar - unzip - virt-manager - wget - # wineFull - wireguard-tools - xclip - xournalpp - yq - zip - zoom-us - zotero - - ]; - }; - - imports = [ - ./modules/configurations.nix - ./modules/fonts.nix - - ./modules/alacritty.nix - ./modules/bash.nix - ./modules/bat.nix - ./modules/bottom.nix - ./modules/broot.nix - # ./modules/bspwm.nix - ./modules/dircolors.nix - ./modules/direnv.nix - # ./modules/dunst.nix - ./modules/fzf.nix - ./modules/git.nix - ./modules/go.nix - ./modules/gpg.nix - # ./modules/grobi.nix - ./modules/info.nix - ./modules/java.nix - ./modules/joystickwake.nix - ./modules/jq.nix - ./modules/kakoune.nix - # ./modules/keepassxc.nix - ./modules/keychain.nix - ./modules/kitty.nix - ./modules/latex.nix - ./modules/lf.nix - ./modules/libinput-gestures.nix - # ./modules/lorri.nix - ./modules/man.nix - ./modules/mangohud.nix - ./modules/megasync.nix - ./modules/nix-index.nix - # ./modules/noti.nix - ./modules/obs-studio.nix - ./modules/office.nix - ./modules/onedrive.nix - # ./modules/picom.nix - # ./modules/polybar.nix - ./modules/pycharm.nix - ./modules/gtk_theme.nix - ./modules/rofi.nix - ./modules/rofimoji.nix - # ./modules/screen_locker.nix - ./modules/ssh.nix - ./modules/starship.nix - # ./modules/sxhkd.nix - ./modules/syncthing.nix - ./modules/terminator.nix - ./modules/tmux.nix - # ./modules/update_background.nix - ./modules/webapp.nix - # ./modules/xidlehook.nix - ./modules/zoxide.nix - ./modules/zsh.nix - - ./modules/pro_audio.nix - # ./modules/security.nix - - ./modules/shell_aliases.nix - ]; - - - services = { - # blueman-applet.enable = true; - # caffeine.enable = true; - # cbatticon.enable = true; - # gnome-keyring.enable = true; - # network-manager-applet.enable = true; - # playerctld.enable = true; - # poweralertd.enable = true; - }; - - # xsession = { - # enable = true; - # numlock.enable = true; - # initExtra = '' - # ## Touchpad - # ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Natural Scrolling Enabled' 1 - # ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Tapping Enabled' 1 - # ''; - # }; - -} diff --git a/overlays.nix b/overlays.nix deleted file mode 100644 index 7b0b5db..0000000 --- a/overlays.nix +++ /dev/null @@ -1,4 +0,0 @@ -[ - (import (builtins.fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz")) - -] diff --git a/thor/configuration.nix b/thor/configuration.nix index a7b001b..f849ec8 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -4,7 +4,7 @@ boot = { binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - kernelPackages = pkgs.linuxPackages_latest; + kernelPackages = pkgs.linuxPackages_5_17; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; loader = { systemd-boot.enable = true; From f37f46c65a8e6d97483af4b106242682780ebf9b Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 9 May 2022 01:46:24 +0200 Subject: [PATCH 18/80] BSPWM configuration for Thor --- home_manager/modules/autorandr.nix | 28 +++++++++ home_manager/modules/bspwm.nix | 61 ++++-------------- home_manager/modules/mangohud.nix | 4 +- home_manager/modules/polybar.nix | 26 ++++---- home_manager/modules/sxhkd.nix | 73 +++++++++++----------- home_manager/modules/update_background.nix | 4 +- home_manager/modules/xidlehook.nix | 2 +- home_manager/thor.nix | 19 +++--- thor/configuration.nix | 10 +-- 9 files changed, 114 insertions(+), 113 deletions(-) create mode 100644 home_manager/modules/autorandr.nix diff --git a/home_manager/modules/autorandr.nix b/home_manager/modules/autorandr.nix new file mode 100644 index 0000000..65d52bf --- /dev/null +++ b/home_manager/modules/autorandr.nix @@ -0,0 +1,28 @@ +{ pkgs, ... }: +{ + programs.autorandr = { + enable = true; + profiles = { + thor-two-screens = { + fingerprint = { + "DP-4" = "00ffffffffffff001e6d7f5ba1c60a00011f0104b53c22789f8cb5af4f43ab260e5054254b007140818081c0a9c0b300d1c08100d1cf09ec00a0a0a0675030203a0055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003130314e5454514c533230390a017102031a7123090607e305c000e606050160592846100403011f136fc200a0a0a0555030203a0055502100001a565e00a0a0a029503020350055502100001a5aa000a0a0a0465030203a005550210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da"; + "HDMI-0" = "00ffffffffffff004c2d2c0d443650302e19010380341d782a5295a556549d250e5054bb8c00b30081c0810081809500a9c001010101023a801871382d40582c450009252100001e000000fd0030481e5216000a202020202020000000fc00433234463339300a2020202020000000ff00485451483330353636370a20200163020324f14690041f131203230907078301000067030c001000802b681a00000101304800011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018215280a07238304088c8350009252100001c00000000000000000000000000000000000000fa"; + }; + config = { + "DP-4" = { + primary = true; + crtc = 0; + mode = "2560x1440"; + position = "1080x162"; + }; + "HDMI-0" = { + crtc = 1; + mode = "1920x1080"; + position = "0x0"; + rotate = "right"; + }; + }; + }; + }; + }; +} diff --git a/home_manager/modules/bspwm.nix b/home_manager/modules/bspwm.nix index 32789ec..5e71c02 100644 --- a/home_manager/modules/bspwm.nix +++ b/home_manager/modules/bspwm.nix @@ -1,9 +1,11 @@ -{ pkgs, ... }: +{ pkgs, lib, ... }: let monitorPages = [ "I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X" ]; + monitorPagesString = lib.strings.concatStringsSep " " monitorPages; strPalette = pkgs.rice.palette.toRGBHex pkgs.rice.colorPalette; xrandr = "${pkgs.xorg.xrandr}/bin/xrandr"; + xsetroot = "${pkgs.xorg.xsetroot}/bin/xsetroot"; in { xsession.windowManager.bspwm = { @@ -19,56 +21,19 @@ in normal_border_color = strPalette.normal.blue; focused_border_color = strPalette.bright.blue; }; - monitors = { - # Intel - "eDP1" = monitorPages; - "DP1" = monitorPages; - - # Nvidia - "eDP-1-1" = monitorPages; - "HDMI-0" = monitorPages; - "DP-1-1" = monitorPages; - }; + # monitors = builtins.foldl' (acc: monitor: acc // { ${monitor} = monitorPages; }) { } monitors; extraConfig = '' - ${pkgs.wmname}/bin/wmname LG3D - ${pkgs.polybar}/bin/polybar-msg cmd restart + for monitor in $(${xrandr} --listactivemonitors | cut -d " " -f 6); do + bspc monitor $monitor -d ${monitorPagesString} + done - if grep DP-1-1 <(${xrandr} --listactivemonitors); then - ${xrandr} --output DP-1-1 --auto --left-of HDMI-0 --rotate right || - ${xrandr} --output DP-1-1 --auto --left-of eDP-1-1 --rotate right - elif grep DP1 <(${xrandr} --listactivemonitors); then - ${xrandr} --output DP-1-1 --auto --above eDP1; - fi + autorandr -c + ${xsetroot} -solid black -cursor_name left_ptr - systemctl --user restart polybar.service update-background.service || true + systemctl --user restart \ + polybar.service \ + update-background.service ''; - startupPrograms = []; + startupPrograms = [ ]; }; - - # xdg.configFile."bspwm/bspwmrc" = { - # executable = true; - # text = '' - # #!/bin/sh - - # bspc monitor DP1 -d I II III IV V VI VII VIII IX X - # bspc monitor HDMI-0 -d I II III IV V VI VII VIII IX X - # bspc monitor eDP-1-1 -d I II III IV V VI VII VIII IX X - # bspc monitor eDP1 -d I II III IV V VI VII VIII IX X - # bspc config border_radius 8 - # bspc config border_width 2 - # bspc config borderless_monocle true - # bspc config focused_border_color '#678EBD' - # bspc config gapless_monocle false - # bspc config normal_border_color '#5E81AC' - # bspc config split_ratio 0.500000 - # bspc config top_padding 0 - # bspc config window_gap 4 - # # java gui fixes - # export _JAVA_AWT_WM_NONREPARENTING=1 - # bspc rule -a sun-awt-X11-XDialogPeer state=floating - - # sleep 2 - # polybar-msg cmd restart - # ''; - # }; } diff --git a/home_manager/modules/mangohud.nix b/home_manager/modules/mangohud.nix index 6b6c175..cde1857 100644 --- a/home_manager/modules/mangohud.nix +++ b/home_manager/modules/mangohud.nix @@ -1,7 +1,9 @@ -{ ... }: { programs.mangohud = { enable = true; enableSessionWide = true; + settings = { + toggle_hud = "Shift_R+F12"; + }; }; } diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index 2a072b8..26002cc 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -10,6 +10,9 @@ let playerStatus = "${playerCtl} -f '{{emoji(status)}} {{title}} - {{artist}}' metadata | ${head} -c 60"; alacritty = "${pkgs.alacritty}/bin/alacritty"; btm = "${pkgs.bottom}/bin/btm"; + systemctl = "${pkgs.systemd}/bin/systemctl"; + loginctl = "${pkgs.systemd}/bin/loginctl"; + shutdown = "${pkgs.systemd}/bin/shutdown"; colors = with pkgs.rice; palette.toARGBHex rec { normal = { @@ -157,13 +160,14 @@ in type = "internal/bspwm"; format = ""; - label = let - common = { - padding = 1; - separator = " "; - text = "%name%"; - }; - in + label = + let + common = { + padding = 1; + separator = " "; + text = "%name%"; + }; + in { focused = colors.selected // common; occupied = colors.active // common; @@ -307,16 +311,16 @@ in ({ text = "Power off"; exec = "#powermenu.open.4"; }) ] [ - ({ text = "Logout"; exec = "${pkgs.systemd}/bin/loginctl terminate-session self"; }) + ({ text = "Logout"; exec = "${loginctl} terminate-session `loginctl session-status | head -n 1 | awk '{print $1}'`"; }) ] [ - ({ text = "Reboot"; exec = "${pkgs.systemd}/bin/systemctl reboot"; }) + ({ text = "Reboot"; exec = "${systemctl} reboot"; }) ] [ - ({ text = "Hibernate"; exec = "${pkgs.systemd}/bin/systemctl hibernate"; }) + ({ text = "Hibernate"; exec = "${systemctl} hibernate"; }) ] [ - ({ text = "Power off"; exec = "${pkgs.systemd}/bin/shutdown now"; }) + ({ text = "Power off"; exec = "${shutdown} now"; }) ] ]; }; diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index 02247be..2abad2d 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -1,49 +1,48 @@ { config, pkgs, lib, ... }: { - services.sxhkd = let - alacritty = "${pkgs.alacritty}/bin/alacritty"; - bspc = "${pkgs.bspwm}/bin/bspc"; - dunstify = "${pkgs.dunst}/bin/dunstify"; - playerctl = "${pkgs.playerctl}/bin/playerctl"; - pulseaudio-ctl = "${pkgs.pulseaudio-ctl}/bin/pulseaudio-ctl"; - rofi = "${pkgs.rofi}/bin/rofi"; - terminator = "${pkgs.terminator}/bin/terminator"; - nautilus = "${pkgs.gnome.nautilus}/bin/nautilus"; - pcmanfm = "${pkgs.pcmanfm}/bin/pcmanfm"; - update-backgroundCmd = "${pkgs.update-background}"; - xbacklight = "${pkgs.xorg.xbacklight}/bin/xbacklight"; - in + services.sxhkd = + let + primaryTerminal = "kitty"; + secondaryTerminal = "terminator"; + primaryFileManager = "${pkgs.gnome.nautilus}/bin/nautilus"; + secondaryFileManager = "${pkgs.pcmanfm}/bin/pcmanfm"; + playerctl = "${pkgs.playerctl}/bin/playerctl"; + pulseaudio-ctl = "${pkgs.pulseaudio-ctl}/bin/pulseaudio-ctl"; + terminator = "${pkgs.terminator}/bin/terminator"; + update-backgroundCmd = "${pkgs.update-background}/bin/update-background"; + xbacklight = "${pkgs.xorg.xbacklight}/bin/xbacklight"; + in { enable = true; keybindings = { "super + b" = update-backgroundCmd; - "super + alt + {h,j,k,l}" = "${bspc} node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; - "super + alt + {q,r}" = "${bspc} {quit,wm -r}"; - "super + alt + shift + {h,j,k,l}" = "${bspc} node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; - "super + alt + m" = "${pkgs.lockscreen}"; - "super + bracket{left,right}" = "${bspc} desktop -f {prev,next}.local"; - "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 + {_,shift +} e" = "{${nautilus} -w, ${pcmanfm} -n}"; + "super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; + "super + alt + {q,r}" = "bspc {quit,wm -r}"; + "super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; + "super + alt + m" = "${pkgs.lockscreen}/bin/lockscreen"; + "super + bracket{left,right}" = "bspc desktop -f {prev,next}.local"; + "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 + {_,shift +} e" = "{${primaryFileManager} -w, ${secondaryFileManager} -n}"; "super + Escape" = "pkill -USR1 -x sxhkd"; - "super + g" = "${bspc} node -s biggest"; - "super + {grave,Tab}" = "${bspc} {node,desktop} -f last"; - "super + {Left,Down,Up,Right}" = "${bspc} node -v {-20 0,0 20,0 -20,20 0}"; - "super + m" = "${bspc} desktop -l next"; - "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 + } Return" = "{${alacritty} , ${terminator}}"; - "super + {_,shift + }{1-9,0}" = "${bspc} {desktop -f,node -d} 'focused:^{1-9,10}'"; - "super + {_,shift + }c" = "${bspc} node -f {next,prev}.local"; - "super + {h,j,k,l}" = "${bspc} node -f {west,south,north,east}"; + "super + g" = "bspc node -s biggest"; + "super + {grave,Tab}" = "bspc {node,desktop} -f last"; + "super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}"; + "super + m" = "bspc desktop -l next"; + "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 + } Return" = "{${primaryTerminal} , ${secondaryTerminal}}"; + "super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} 'focused:^{1-9,10}'"; + "super + {_,shift + }c" = "bspc node -f {next,prev}.local"; + "super + {h,j,k,l}" = "bspc node -f {west,south,north,east}"; "super + shift + {h,j,k,l}" = ''dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow''; - "super + {_,shift + }w" = "${bspc} node -{c,k}"; + "super + {_,shift + }w" = "bspc node -{c,k}"; "super + @space" = "rofi -show drun"; - "super + {t,shift + t,s,f}" = "${bspc} node -t {tiled,pseudo_tiled,floating,fullscreen}"; - "super + y" = "${bspc} node newest.marked.local -n newest.!automatic.local"; + "super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}"; + "super + y" = "bspc node newest.marked.local -n newest.!automatic.local"; "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "${pulseaudio-ctl} {down,mute,up}"; "XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}"; "XF86MonBrightness{Up,Down}" = "${xbacklight} {+,-}10%"; diff --git a/home_manager/modules/update_background.nix b/home_manager/modules/update_background.nix index 3613757..bf7a80f 100644 --- a/home_manager/modules/update_background.nix +++ b/home_manager/modules/update_background.nix @@ -3,6 +3,8 @@ let update_time = "10m"; in { + home.packages = [ pkgs.update-background ]; + systemd.user.services."update-background" = { Unit = { Description = "Set random desktop background using feh"; @@ -16,7 +18,7 @@ in Service = { Type = "oneshot"; IOSchedulingClass = "idle"; - ExecStart = "${pkgs.update-background}"; + ExecStart = "${pkgs.update-background}/bin/update-background"; }; }; diff --git a/home_manager/modules/xidlehook.nix b/home_manager/modules/xidlehook.nix index 51bcea7..6c968bb 100644 --- a/home_manager/modules/xidlehook.nix +++ b/home_manager/modules/xidlehook.nix @@ -4,7 +4,7 @@ with lib; let xscreensaverCmd = "${pkgs.xscreensaver}/bin/xscreensaver-command -activate"; - lockCmd = "${pkgs.lockscreen}"; + lockCmd = "${pkgs.lockscreen}/bin/lockscreen"; in { services.xidlehook = { diff --git a/home_manager/thor.nix b/home_manager/thor.nix index f569da3..96c272a 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -54,7 +54,7 @@ # gnome.quadrapassel # gnome.seahorse # gnome.sushi - google-chrome + (google-chrome.override { commandLineArgs = [ "--password-store=gnome" ]; }) gucharmap handbrake htop @@ -127,6 +127,10 @@ ]; }; + services = { + gnome-keyring.enable = true; + }; + imports = [ ./basic_env.nix @@ -139,7 +143,8 @@ ./modules/rust.nix ./modules/alacritty.nix - # ./modules/bspwm.nix + ./modules/autorandr.nix + ./modules/bspwm.nix # ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix @@ -153,18 +158,18 @@ ./modules/obs-studio.nix ./modules/office.nix ./modules/onedrive.nix - # ./modules/picom.nix - # ./modules/polybar.nix + ./modules/picom.nix + ./modules/polybar.nix ./modules/pro_audio.nix ./modules/rofimoji.nix ./modules/rofi.nix # ./modules/screen_locker.nix # ./modules/security.nix - # ./modules/sxhkd.nix + ./modules/sxhkd.nix ./modules/syncthing.nix ./modules/terminator.nix - # ./modules/update_background.nix + ./modules/update_background.nix ./modules/webapp.nix - # ./modules/xidlehook.nix + ./modules/xidlehook.nix ]; } diff --git a/thor/configuration.nix b/thor/configuration.nix index f849ec8..d4f400f 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -1,7 +1,5 @@ { config, pkgs, lib, ... }: { - imports = [ ./hardware-configuration.nix ]; - boot = { binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; kernelPackages = pkgs.linuxPackages_5_17; @@ -132,12 +130,9 @@ desktopManager = { # gnome.enable = true; # cinnamon.enable = true; - plasma5 = { - enable = true; - runUsingSystemd = true; - useQtScaling = true; - }; + # plasma5 = { enable = true; runUsingSystemd = true; useQtScaling = true; }; }; + windowManager.bspwm = { enable = true; }; # displayManager.gdm = { enable = true; nvidiaWayland = true; }; displayManager.sddm.enable = true; layout = "us"; @@ -152,6 +147,7 @@ security = { rtkit.enable = true; + pam.services = { autounlock_gnome_keyring.enableGnomeKeyring = true; }; sudo.extraConfig = '' Defaults pwfeedback ''; From 92b20759797df3c08ec50b44aa0ad5c777bf2043 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 9 May 2022 10:56:21 +0200 Subject: [PATCH 19/80] bspwm for odin --- home_manager/modules/kitty.nix | 1 + home_manager/odin.nix | 71 ++++++++++++++++++++-------------- home_manager/thor.nix | 2 +- odin/common_configuration.nix | 4 +- odin/configuration-intel.nix | 9 ++++- 5 files changed, 52 insertions(+), 35 deletions(-) diff --git a/home_manager/modules/kitty.nix b/home_manager/modules/kitty.nix index a26e960..82d806e 100644 --- a/home_manager/modules/kitty.nix +++ b/home_manager/modules/kitty.nix @@ -37,6 +37,7 @@ in keybindings = { "ctrl+shift+t" = "new_tab_with_cwd"; "ctrl+shift+enter" = "new_window_with_cwd"; + "ctrl+shift+n" = "new_os_window_with_cwd"; }; font = pkgs.rice.font.monospace; }; diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 3d0b940..a042a04 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -2,55 +2,66 @@ { home = { packages = with pkgs; [ - # pulseaudio - easyeffects - tex2nix - - kubectl - docker-compose - docker-machine - arandr ark authy bitwarden + btop catgirl # IRC cava discord + docker-compose + docker-machine droidcam + easyeffects + # electrum + # element-desktop # element-desktop # matrix client # evolution + evolution + file filelight # firefox + freecad gallery-dl # gnome.dconf-editor # gnome.eog # gnome.evince - gnome.geary - gnome.gnome-calendar # gnomeExtensions.appindicator # gnomeExtensions.caffeine # gnomeExtensions.dash-to-dock + # # gnomeExtensions.dynamic-panel-transparency # gnomeExtensions.dynamic-panel-transparency # gnomeExtensions.gtile # gnomeExtensions.just-perfection # gnomeExtensions.vitals # gnome.file-roller + gnome.geary + gnome.gnome-calendar # gnome.gnome-screenshot # gnome.gnome-sound-recorder + gnome.gnome-sound-recorder # gnome.gnome-sudoku + gnome.gnome-sudoku # gnome.gnome-system-monitor # gnome.gnome-tweaks # gnome.nautilus # gnome.quadrapassel # gnome.seahorse # gnome.sushi - google-chrome + (google-chrome.override { commandLineArgs = [ "--password-store=gnome" ]; }) gucharmap + handbrake + htop httpie # hyperspace-cli inkscape jetbrains.datagrip + kcolorchooser + kdiff3 + # keepassxc + kgpg + # kid3 # tag mp3 kmail kompare kontact @@ -59,18 +70,11 @@ ksystemlog kubectl lutris - kcolorchooser - kompare - korganizer - # keepassxc - kgpg - # kid3 # tag mp3 - krita - ksystemlog - lutris meld + minecraft mmv-go mpv + mycrypto neofetch nixos-option nix-prefetch-scripts @@ -83,14 +87,20 @@ pcmanfm pentablet-driver procps + # pulseaudio + retroarchFull ripgrep skypeforlinux + # slack spotify - unstable.tdesktop teams + tex2nix tracker transmission-gtk unrar + # (unstable.blender.override { cudaSupport = true; }) + unstable.tdesktop + unstable.zotero unzip virt-manager wget @@ -101,10 +111,11 @@ yq zip zoom-us - unstable.zotero ]; }; + services = { gnome-keyring.enable = true; }; + imports = [ ./basic_env.nix @@ -117,8 +128,8 @@ ./modules/rust.nix ./modules/alacritty.nix - # ./modules/bspwm.nix - # ./modules/dunst.nix + ./modules/bspwm.nix + ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix ./modules/joystickwake.nix @@ -132,19 +143,19 @@ ./modules/obs-studio.nix ./modules/office.nix ./modules/onedrive.nix - # ./modules/picom.nix - # ./modules/polybar.nix + ./modules/picom.nix + ./modules/polybar.nix ./modules/pro_audio.nix # ./modules/pycharm.nix ./modules/rofimoji.nix ./modules/rofi.nix - # ./modules/screen_locker.nix + ./modules/screen_locker.nix # ./modules/security.nix - # ./modules/sxhkd.nix + ./modules/sxhkd.nix ./modules/syncthing.nix ./modules/terminator.nix - # ./modules/update_background.nix + ./modules/update_background.nix ./modules/webapp.nix - # ./modules/xidlehook.nix + ./modules/xidlehook.nix ]; } diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 96c272a..b7513c3 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -145,7 +145,7 @@ ./modules/alacritty.nix ./modules/autorandr.nix ./modules/bspwm.nix - # ./modules/dunst.nix + ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix ./modules/joystickwake.nix diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index 456e0ae..37af0a8 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -65,7 +65,7 @@ enable = true; runUsingSystemd = true; }; - # windowManager.bspwm.enable = true; + windowManager.bspwm.enable = true; # Configure keymap in X11 layout = "it"; @@ -208,7 +208,7 @@ kvmgt.enable = true; libvirtd.enable = true; podman.enable = true; - virtualbox.host.enable = true; + # virtualbox.host.enable = true; }; # Allow completion for system packages diff --git a/odin/configuration-intel.nix b/odin/configuration-intel.nix index 240bdaf..9504ec0 100644 --- a/odin/configuration-intel.nix +++ b/odin/configuration-intel.nix @@ -18,9 +18,14 @@ ]; services.xserver = { - displayManager.gdm = { + # displayManager.gdm = { + # enable = true; + # wayland = true; + # }; + displayManager.sddm = { enable = true; - wayland = true; + autoNumlock = true; + # enableHidpi = true; }; }; From d81dd704a5406c051d61411d65b5e8cf00b2beb4 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 9 May 2022 11:24:27 +0200 Subject: [PATCH 20/80] Autorandr config for odin --- home_manager/modules/autorandr.nix | 30 ++++++++++++++++++------------ home_manager/odin.nix | 11 +++++++++++ 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/home_manager/modules/autorandr.nix b/home_manager/modules/autorandr.nix index 65d52bf..ff044f5 100644 --- a/home_manager/modules/autorandr.nix +++ b/home_manager/modules/autorandr.nix @@ -3,24 +3,30 @@ programs.autorandr = { enable = true; profiles = { + odin-intel = { + fingerprint = { "eDP1" = "00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5"; }; + config = { + "eDP1" = { primary = true; crtc = 0; mode = "1920x1080"; dpi = 141; }; + }; + }; + odin-intel-laboratorio = { + fingerprint = { + "DP1-3" = "00ffffffffffff0010ac71404c473344281601030e331d78eadd45a3554fa027125054a54b00714f8180d1c001010101010101010101023a801871382d40582c4500fe1f1100001e000000ff004b463837593241364433474c0a000000fc0044454c4c205532333132484d0a000000fd00384c1e5311000a2020202020200081"; + "eDP1" = "00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5"; + }; + config = { + "DP1-3" = { primary = true; crtc = 1; mode = "1920x1080"; position = "0x0"; }; + "eDP1" = { crtc = 0; mode = "1920x1080"; position = "0x1080"; dpi = 141; }; + }; + }; thor-two-screens = { fingerprint = { "DP-4" = "00ffffffffffff001e6d7f5ba1c60a00011f0104b53c22789f8cb5af4f43ab260e5054254b007140818081c0a9c0b300d1c08100d1cf09ec00a0a0a0675030203a0055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003130314e5454514c533230390a017102031a7123090607e305c000e606050160592846100403011f136fc200a0a0a0555030203a0055502100001a565e00a0a0a029503020350055502100001a5aa000a0a0a0465030203a005550210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da"; "HDMI-0" = "00ffffffffffff004c2d2c0d443650302e19010380341d782a5295a556549d250e5054bb8c00b30081c0810081809500a9c001010101023a801871382d40582c450009252100001e000000fd0030481e5216000a202020202020000000fc00433234463339300a2020202020000000ff00485451483330353636370a20200163020324f14690041f131203230907078301000067030c001000802b681a00000101304800011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018215280a07238304088c8350009252100001c00000000000000000000000000000000000000fa"; }; config = { - "DP-4" = { - primary = true; - crtc = 0; - mode = "2560x1440"; - position = "1080x162"; - }; - "HDMI-0" = { - crtc = 1; - mode = "1920x1080"; - position = "0x0"; - rotate = "right"; - }; + "DP-4" = { primary = true; crtc = 0; mode = "2560x1440"; position = "1080x162"; }; + "HDMI-0" = { crtc = 1; mode = "1920x1080"; position = "0x0"; rotate = "right"; }; }; }; }; diff --git a/home_manager/odin.nix b/home_manager/odin.nix index a042a04..c4d5923 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -116,6 +116,16 @@ services = { gnome-keyring.enable = true; }; + xsession = { + enable = true; + numlock.enable = true; + initExtra = '' + ## Touchpad + ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Natural Scrolling Enabled' 1 + ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Tapping Enabled' 1 + ''; + }; + imports = [ ./basic_env.nix @@ -128,6 +138,7 @@ ./modules/rust.nix ./modules/alacritty.nix + ./modules/autorandr.nix ./modules/bspwm.nix ./modules/dunst.nix # ./modules/grobi.nix From ad7c8d80b7b4f63639481e98c37c40de6be0db30 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 9 May 2022 12:11:50 +0200 Subject: [PATCH 21/80] zathura --- home_manager/modules/autorandr.nix | 4 ++-- home_manager/modules/bspwm.nix | 4 ++++ home_manager/modules/kakoune.nix | 12 ++++++------ home_manager/modules/sxhkd.nix | 3 ++- home_manager/modules/xidlehook.nix | 2 +- home_manager/modules/zathura.nix | 20 ++++++++++++++++++++ home_manager/odin.nix | 1 + 7 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 home_manager/modules/zathura.nix diff --git a/home_manager/modules/autorandr.nix b/home_manager/modules/autorandr.nix index ff044f5..466a6ae 100644 --- a/home_manager/modules/autorandr.nix +++ b/home_manager/modules/autorandr.nix @@ -6,7 +6,7 @@ odin-intel = { fingerprint = { "eDP1" = "00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5"; }; config = { - "eDP1" = { primary = true; crtc = 0; mode = "1920x1080"; dpi = 141; }; + "eDP1" = { primary = true; crtc = 0; mode = "1920x1080"; dpi = 96; }; }; }; odin-intel-laboratorio = { @@ -16,7 +16,7 @@ }; config = { "DP1-3" = { primary = true; crtc = 1; mode = "1920x1080"; position = "0x0"; }; - "eDP1" = { crtc = 0; mode = "1920x1080"; position = "0x1080"; dpi = 141; }; + "eDP1" = { crtc = 0; mode = "1920x1080"; position = "0x1080"; dpi = 96; }; }; }; thor-two-screens = { diff --git a/home_manager/modules/bspwm.nix b/home_manager/modules/bspwm.nix index 5e71c02..5815f29 100644 --- a/home_manager/modules/bspwm.nix +++ b/home_manager/modules/bspwm.nix @@ -36,4 +36,8 @@ in ''; startupPrograms = [ ]; }; + services = { + network-manager-applet.enable = true; + blueman-applet.enable = true; + }; } diff --git a/home_manager/modules/kakoune.nix b/home_manager/modules/kakoune.nix index 50ae49e..45e6aaf 100644 --- a/home_manager/modules/kakoune.nix +++ b/home_manager/modules/kakoune.nix @@ -109,12 +109,12 @@ in "lsp-enable" '' def -hidden insert-c-n %{ - try %{ - lsp-snippets-select-next-placeholders - exec 'd' - } catch %{ - exec -with-hooks '' - } + try %{ + lsp-snippets-select-next-placeholders + exec 'd' + } catch %{ + exec -with-hooks '' + } } '' "require-module powerline" diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index 2abad2d..4a62723 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -40,7 +40,8 @@ "super + {h,j,k,l}" = "bspc node -f {west,south,north,east}"; "super + shift + {h,j,k,l}" = ''dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow''; "super + {_,shift + }w" = "bspc node -{c,k}"; - "super + @space" = "rofi -show drun"; + "super + {_,shift + }@space " = "rofi -show {drun,run}"; + "alt + Tab" = "rofi -show window"; "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"; "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "${pulseaudio-ctl} {down,mute,up}"; diff --git a/home_manager/modules/xidlehook.nix b/home_manager/modules/xidlehook.nix index 6c968bb..bcb2878 100644 --- a/home_manager/modules/xidlehook.nix +++ b/home_manager/modules/xidlehook.nix @@ -18,7 +18,7 @@ in } { command = xscreensaverCmd; - delay = 300; + delay = 120; } ]; }; diff --git a/home_manager/modules/zathura.nix b/home_manager/modules/zathura.nix new file mode 100644 index 0000000..94c67c4 --- /dev/null +++ b/home_manager/modules/zathura.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: +let + strPalette = with pkgs.rice; palette.toRgbHex colorPalette; +in +{ + programs.zathura = { + enable = true; + options = { + completion-bg = strPalette.bright.black; + default-bg = strPalette.normal.black; + font = "${pkgs.rice.font.normal.name} 10"; + inputbar-bg = strPalette.bright.black; + inputbar-fg = strPalette.normal.cyan; + page-padding = 10; + recolor-lightcolor = strPalette.dark.cyan; + statusbar-bg = strPalette.bright.black; + selection-clipboard = "clipboard"; + }; + }; +} diff --git a/home_manager/odin.nix b/home_manager/odin.nix index c4d5923..9c6e978 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -168,5 +168,6 @@ ./modules/update_background.nix ./modules/webapp.nix ./modules/xidlehook.nix + ./modules/zathura.nix ]; } From fcb4d653add5786d0c350e2f01fc879a46fd2061 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 9 May 2022 14:02:45 +0200 Subject: [PATCH 22/80] Remove unused packages --- home_manager/odin.nix | 37 ++++++----------------------------- odin/common_configuration.nix | 8 ++++---- 2 files changed, 10 insertions(+), 35 deletions(-) diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 9c6e978..63628ad 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -3,42 +3,27 @@ home = { packages = with pkgs; [ arandr - ark authy bitwarden btop - catgirl # IRC cava - discord + unstable.discord docker-compose docker-machine droidcam easyeffects - # electrum - # element-desktop # element-desktop # matrix client - # evolution + evince evolution file - filelight # firefox freecad gallery-dl - # gnome.dconf-editor - # gnome.eog - # gnome.evince - # gnomeExtensions.appindicator - # gnomeExtensions.caffeine - # gnomeExtensions.dash-to-dock - # # gnomeExtensions.dynamic-panel-transparency - # gnomeExtensions.dynamic-panel-transparency - # gnomeExtensions.gtile - # gnomeExtensions.just-perfection - # gnomeExtensions.vitals - # gnome.file-roller + gnome.eog + gnome.file-roller gnome.geary gnome.gnome-calendar - # gnome.gnome-screenshot + gnome.gnome-screenshot # gnome.gnome-sound-recorder gnome.gnome-sound-recorder # gnome.gnome-sudoku @@ -57,24 +42,15 @@ # hyperspace-cli inkscape jetbrains.datagrip - kcolorchooser - kdiff3 # keepassxc - kgpg - # kid3 # tag mp3 - kmail - kompare - kontact - korganizer krita - ksystemlog kubectl lutris meld minecraft mmv-go mpv - mycrypto + # mycrypto neofetch nixos-option nix-prefetch-scripts @@ -95,7 +71,6 @@ spotify teams tex2nix - tracker transmission-gtk unrar # (unstable.blender.override { cudaSupport = true; }) diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index 37af0a8..ee32e43 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -61,10 +61,10 @@ # nvidiaWayland = true; # }; # desktopManager.gnome.enable = true; - desktopManager.plasma5 = { - enable = true; - runUsingSystemd = true; - }; + # desktopManager.plasma5 = { + # enable = true; + # runUsingSystemd = true; + # }; windowManager.bspwm.enable = true; # Configure keymap in X11 From e708ad696a598f58fd3df454e0ce50945a6f02a1 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 9 May 2022 16:07:47 +0200 Subject: [PATCH 23/80] Compose and disable toucpad while typing --- home_manager/modules/bspwm.nix | 1 + home_manager/odin.nix | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/home_manager/modules/bspwm.nix b/home_manager/modules/bspwm.nix index 5815f29..4617023 100644 --- a/home_manager/modules/bspwm.nix +++ b/home_manager/modules/bspwm.nix @@ -40,4 +40,5 @@ in network-manager-applet.enable = true; blueman-applet.enable = true; }; + home.packages = with pkgs; [ blueman ]; } diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 63628ad..db80bac 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -1,6 +1,11 @@ { pkgs, lib, ... }: { home = { + language.base = "it_IT.UTF-8"; + keyboard = { + layout = "it"; + options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; + }; packages = with pkgs; [ arandr authy @@ -98,6 +103,7 @@ ## Touchpad ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Natural Scrolling Enabled' 1 ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Tapping Enabled' 1 + ${pkgs.xorg.xinput}/bin/xinput set-prop 'DELL0824:00 06CB:7E92 Touchpad' 'libinput Disable While Typing Enabled' 1 ''; }; From 08159626416a538707e2af970d6293b8fc5e9512 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 9 May 2022 17:53:58 +0200 Subject: [PATCH 24/80] Enable new modules --- home_manager/thor.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home_manager/thor.nix b/home_manager/thor.nix index b7513c3..d300ba5 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -154,6 +154,7 @@ ./modules/kitty.nix ./modules/mangohud.nix ./modules/megasync.nix + ./modules/nix-index.nix ./modules/noti.nix ./modules/obs-studio.nix ./modules/office.nix @@ -163,7 +164,7 @@ ./modules/pro_audio.nix ./modules/rofimoji.nix ./modules/rofi.nix - # ./modules/screen_locker.nix + ./modules/screen_locker.nix # ./modules/security.nix ./modules/sxhkd.nix ./modules/syncthing.nix @@ -171,5 +172,6 @@ ./modules/update_background.nix ./modules/webapp.nix ./modules/xidlehook.nix + ./modules/zathura.nix ]; } From 61cba53b41b3bc985a38a0be7e8b8fed1227164f Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 9 May 2022 18:30:01 +0200 Subject: [PATCH 25/80] nix-index service --- home_manager/modules/nix-index.nix | 23 +++++++++++++++++++++++ home_manager/odin.nix | 1 + 2 files changed, 24 insertions(+) diff --git a/home_manager/modules/nix-index.nix b/home_manager/modules/nix-index.nix index c38d223..ee9f2e9 100644 --- a/home_manager/modules/nix-index.nix +++ b/home_manager/modules/nix-index.nix @@ -1,7 +1,30 @@ +{ pkgs, ... }: { programs.nix-index = { enable = true; enableBashIntegration = true; enableZshIntegration = true; }; + + systemd.user = { + services."nix-index" = { + Unit = { + Description = "Update the nix-locate database"; + After = [ "network.target" ]; + }; + Install = { + WantedBy = [ "default.target" ]; + }; + Service = { + Type = "oneshot"; + ExecStart = "${pkgs.nix-index}/bin/nix-index"; + }; + }; + + timers."nix-index" = { + Unit.Description = "Update the nix-locate database"; + Time = { OnCalendar = "weekly"; Persistent = true; }; + Install.WantedBy = [ "timers.target" ]; + }; + }; } diff --git a/home_manager/odin.nix b/home_manager/odin.nix index db80bac..85bb93b 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -131,6 +131,7 @@ ./modules/libinput-gestures.nix ./modules/mangohud.nix ./modules/megasync.nix + ./modules/nix-index.nix ./modules/noti.nix ./modules/obs-studio.nix ./modules/office.nix From 2d937f8f8bad884af88a9c5c707a980d63e529e6 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 10 May 2022 11:02:32 +0200 Subject: [PATCH 26/80] Fix bluetooth service (blueman) + fix update-background --- custom/update-background/default.nix | 1 + odin/common_configuration.nix | 2 +- thor/configuration.nix | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/custom/update-background/default.nix b/custom/update-background/default.nix index cd03c54..8dd48e8 100644 --- a/custom/update-background/default.nix +++ b/custom/update-background/default.nix @@ -22,4 +22,5 @@ writeScriptBin "update-background" '' echo "image: $image" ${feh}/bin/feh --bg-fill --no-fehbg "$image" ${glib}/bin/gsettings set org.gnome.desktop.background picture-uri "file://$image" + true '' diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index ee32e43..86eb3e3 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -163,7 +163,7 @@ services.dbus.packages = with pkgs; [ dconf ]; services.gnome.gnome-keyring.enable = true; hardware.bluetooth.enable = true; - # services.blueman.enable = true; + services.blueman.enable = true; services.zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; services.gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; }; # services.tlp.enable = false; diff --git a/thor/configuration.nix b/thor/configuration.nix index d4f400f..bfd4ffb 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -91,6 +91,7 @@ ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; }; }; + blueman.enable = true; clamav = { daemon.enable = true; updater.enable = true; }; dbus.packages = with pkgs; [ dconf ]; gnome.gnome-keyring.enable = true; From d02c81a189a3d40d7025236ff1f1be6f92d6cd50 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 11 May 2022 17:19:15 +0200 Subject: [PATCH 27/80] Fix keyboard configuration and cleanup --- flake.nix | 56 ++++++++++++------------------ home_manager/basic_env.nix | 4 --- home_manager/modules/gtk_theme.nix | 6 ++-- home_manager/thor.nix | 2 +- odin/common_configuration.nix | 2 +- thor/configuration.nix | 2 +- 6 files changed, 30 insertions(+), 42 deletions(-) diff --git a/flake.nix b/flake.nix index 37de60d..aa38d84 100644 --- a/flake.nix +++ b/flake.nix @@ -51,12 +51,8 @@ (rust-overlay.overlay) (final: prev: { inherit (tex2nix.packages.${system}) tex2nix; }) (final: prev: { - # cocktail-bar-cli = final.callPackage ./custom/cocktail-bar-cli { }; update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; - lockscreen = final.callPackage ./custom/lockscreen { - palette = final.rice.colorPalette; - font = final.rice.font.normal; - }; + lockscreen = final.callPackage ./custom/lockscreen { palette = final.rice.colorPalette; font = final.rice.font.normal; }; }) (final: prev: { unstable = unstablePkgs; }) ]; @@ -70,13 +66,7 @@ }; pkgs = import nixpkgs nixpkgsSettings; unstablePkgs = import unstable nixpkgsSettings; - - homeManagerSettings = { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - }; - }; + homeManagerSettings = { home-manager = { useGlobalPkgs = true; useUserPackages = true; }; }; odinBaseModules = [ { nixpkgs = nixpkgsSettings; } @@ -95,14 +85,14 @@ ./thor/configuration.nix ]; - odinStable = extraModules: nixpkgs.lib.nixosSystem { - inherit system; - modules = odinBaseModules ++ [ - home-manager.nixosModules.home-manager - homeManagerSettings - { home-manager.users.bertof = import ./home_manager/odin.nix; } - ] ++ extraModules; - }; + # odinStable = extraModules: nixpkgs.lib.nixosSystem { + # inherit system; + # modules = odinBaseModules ++ [ + # home-manager.nixosModules.home-manager + # homeManagerSettings + # { home-manager.users.bertof = import ./home_manager/odin.nix; } + # ] ++ extraModules; + # }; odinUnstable = extraModules: unstable.lib.nixosSystem { inherit system; @@ -113,14 +103,14 @@ ] ++ extraModules; }; - thorStable = extraModules: nixpkgs.lib.nixosSystem { - inherit system; - modules = thorBaseModules ++ [ - home-manager.nixosModules.home-manager - homeManagerSettings - { home-manager.users.bertof = import ./home_manager/thor.nix; } - ] ++ extraModules; - }; + # thorStable = extraModules: nixpkgs.lib.nixosSystem { + # inherit system; + # modules = thorBaseModules ++ [ + # home-manager.nixosModules.home-manager + # homeManagerSettings + # { home-manager.users.bertof = import ./home_manager/thor.nix; } + # ] ++ extraModules; + # }; thorUnstable = extraModules: unstable.lib.nixosSystem { inherit system; @@ -137,18 +127,18 @@ nixosConfigurations = rec { - thor = thor-stable; + thor = thor-unstable; - thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ]; + # thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ]; thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ]; thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; - odin = odin-intel-stable; + odin = odin-intel-unstable; odin-intel-unstable = odinUnstable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ]; odin-nvidia-unstable = odinUnstable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ]; - odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ]; - odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ]; + # odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ]; + # odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ]; }; }; } diff --git a/home_manager/basic_env.nix b/home_manager/basic_env.nix index bf266a4..93e29a9 100644 --- a/home_manager/basic_env.nix +++ b/home_manager/basic_env.nix @@ -2,10 +2,6 @@ { home = { language.base = "it_IT.UTF-8"; - keyboard = { - layout = "it"; - options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; - }; packages = with pkgs; [ file htop diff --git a/home_manager/modules/gtk_theme.nix b/home_manager/modules/gtk_theme.nix index 63a607d..1146acf 100644 --- a/home_manager/modules/gtk_theme.nix +++ b/home_manager/modules/gtk_theme.nix @@ -18,11 +18,13 @@ platformTheme = "gtk"; }; - xsession = { + home = { pointerCursor = { package = pkgs.qogir-icon-theme; name = "Qogir"; - size = 24; + # size = 64; + x11.enable = true; + gtk.enable = true; }; }; } diff --git a/home_manager/thor.nix b/home_manager/thor.nix index d300ba5..5fcace7 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -3,7 +3,7 @@ home = { language.base = "it_IT.UTF-8"; keyboard = { - layout = "it"; + layout = "en"; options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; }; packages = with pkgs; [ diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index 86eb3e3..ba6ffc5 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -72,7 +72,7 @@ extraLayouts = { eng = { languages = [ "eng" ]; description = "English layout for external keyboard"; }; }; - xkbOptions = "eurosign:e;"; + xkbOptions = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl"; libinput.enable = true; }; diff --git a/thor/configuration.nix b/thor/configuration.nix index bfd4ffb..33e4d4f 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -138,7 +138,7 @@ displayManager.sddm.enable = true; layout = "us"; videoDrivers = [ "nvidia" ]; - xkbOptions = "eurosign:e"; + xkbOptions = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl"; }; # gnome.gnome-remote-desktop.enable = true; zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; From f96a22326c07e304de2ea0b82f618f7f757a89d2 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 12 May 2022 09:58:51 +0200 Subject: [PATCH 28/80] Update keybindings + fix cursor --- home_manager/modules/gtk_theme.nix | 2 +- home_manager/modules/sxhkd.nix | 9 ++++----- home_manager/odin.nix | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/home_manager/modules/gtk_theme.nix b/home_manager/modules/gtk_theme.nix index 1146acf..9cd79c2 100644 --- a/home_manager/modules/gtk_theme.nix +++ b/home_manager/modules/gtk_theme.nix @@ -23,7 +23,7 @@ package = pkgs.qogir-icon-theme; name = "Qogir"; # size = 64; - x11.enable = true; + # x11.enable = true; gtk.enable = true; }; }; diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index 4a62723..a6f6019 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -4,10 +4,9 @@ let primaryTerminal = "kitty"; secondaryTerminal = "terminator"; - primaryFileManager = "${pkgs.gnome.nautilus}/bin/nautilus"; - secondaryFileManager = "${pkgs.pcmanfm}/bin/pcmanfm"; + pcmanfm = "${pkgs.pcmanfm}/bin/pcmanfm"; playerctl = "${pkgs.playerctl}/bin/playerctl"; - pulseaudio-ctl = "${pkgs.pulseaudio-ctl}/bin/pulseaudio-ctl"; + pamixer = "${pkgs.pamixer}/bin/pamixer"; terminator = "${pkgs.terminator}/bin/terminator"; update-backgroundCmd = "${pkgs.update-background}/bin/update-background"; xbacklight = "${pkgs.xorg.xbacklight}/bin/xbacklight"; @@ -26,7 +25,7 @@ "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 + {_,shift +} e" = "{${primaryFileManager} -w, ${secondaryFileManager} -n}"; + "super + e" = "${pcmanfm} -n"; "super + Escape" = "pkill -USR1 -x sxhkd"; "super + g" = "bspc node -s biggest"; "super + {grave,Tab}" = "bspc {node,desktop} -f last"; @@ -44,7 +43,7 @@ "alt + Tab" = "rofi -show window"; "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"; - "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "${pulseaudio-ctl} {down,mute,up}"; + "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "${pamixer} {-d 5,-t,-i 5}"; "XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}"; "XF86MonBrightness{Up,Down}" = "${xbacklight} {+,-}10%"; }; diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 85bb93b..88ec5e2 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -18,7 +18,7 @@ droidcam easyeffects # element-desktop # matrix client - evince + # evince evolution file # firefox @@ -46,6 +46,7 @@ httpie # hyperspace-cli inkscape + jabref jetbrains.datagrip # keepassxc krita @@ -61,7 +62,6 @@ nix-prefetch-scripts nix-tree obsidian - okular openvpn p7zip pavucontrol From 268e53fdf7a26d6bd8d634d84812035cb234eaea Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 12 May 2022 14:27:52 +0200 Subject: [PATCH 29/80] Polybar and sxhkd keybindings for volume --- home_manager/modules/bspwm.nix | 8 ++++++-- home_manager/modules/polybar.nix | 1 + home_manager/modules/sxhkd.nix | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/home_manager/modules/bspwm.nix b/home_manager/modules/bspwm.nix index 4617023..7513e19 100644 --- a/home_manager/modules/bspwm.nix +++ b/home_manager/modules/bspwm.nix @@ -22,6 +22,10 @@ in focused_border_color = strPalette.bright.blue; }; # monitors = builtins.foldl' (acc: monitor: acc // { ${monitor} = monitorPages; }) { } monitors; + rules = { + "*" = { follow = true; }; + "Zathura" = { state = "tiled"; }; + }; extraConfig = '' for monitor in $(${xrandr} --listactivemonitors | cut -d " " -f 6); do bspc monitor $monitor -d ${monitorPagesString} @@ -37,8 +41,8 @@ in startupPrograms = [ ]; }; services = { - network-manager-applet.enable = true; - blueman-applet.enable = true; + network-manager-applet.enable = true; + blueman-applet.enable = true; }; home.packages = with pkgs; [ blueman ]; } diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index 26002cc..e06cdfc 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -216,6 +216,7 @@ in }; "module/pulseaudio" = { + interval = 2; bar.volume = { empty = { font = "2"; diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index a6f6019..7a028f7 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -43,7 +43,7 @@ "alt + Tab" = "rofi -show window"; "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"; - "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "${pamixer} {-d 5,-t,-i 5}"; + "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "${pamixer} {-d 2,-t,-i 2}"; "XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}"; "XF86MonBrightness{Up,Down}" = "${xbacklight} {+,-}10%"; }; From ae8bf3bf44f400b7a8c6e02f464fc48673dd5346 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sat, 14 May 2022 19:12:31 +0200 Subject: [PATCH 30/80] Better flake + sesar --- flake.nix | 16 ++++++++-------- home_manager/thor.nix | 1 + nixos_modules/sesar.nix | 11 +++++++++++ odin/common_configuration.nix | 4 ---- thor/configuration.nix | 4 ---- 5 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 nixos_modules/sesar.nix diff --git a/flake.nix b/flake.nix index aa38d84..61ce006 100644 --- a/flake.nix +++ b/flake.nix @@ -123,22 +123,22 @@ in { - packages.${system} = pkgs; + packages.${system} = unstablePkgs; nixosConfigurations = rec { thor = thor-unstable; - # thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ]; - thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ]; - thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ]; + # thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; + thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; + thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ./nixos_modules/sesar.nix ]; odin = odin-intel-unstable; - odin-intel-unstable = odinUnstable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ]; - odin-nvidia-unstable = odinUnstable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ]; - # odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ]; - # odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ]; + odin-intel-unstable = odinUnstable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; + odin-nvidia-unstable = odinUnstable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; + # odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; + # odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; }; }; } diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 5fcace7..73ad23e 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -93,6 +93,7 @@ pentablet-driver procps ripgrep + shotwell skypeforlinux # slack spotify diff --git a/nixos_modules/sesar.nix b/nixos_modules/sesar.nix new file mode 100644 index 0000000..39d19b5 --- /dev/null +++ b/nixos_modules/sesar.nix @@ -0,0 +1,11 @@ +{ + networking = { + hosts = { + "datanode1" = [ "172.20.28.210" ]; + "datanode2" = [ "172.20.28.210" ]; + "datanode3" = [ "172.20.28.210" ]; + "*.engine.sesar.int" = [ "172.20.28.210" ]; + "vcenter.sesar.int" = [ "159.149.147.137" ]; + }; + }; +} diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index ba6ffc5..8eec21a 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -34,10 +34,6 @@ # firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. # firewall.enable = false; - hosts = { - "*.engine.sesar.int" = [ "172.20.28.210" ]; - "vcenter.sesar.int" = [ "159.149.147.137" ]; - }; }; # Set your time zone. diff --git a/thor/configuration.nix b/thor/configuration.nix index 33e4d4f..2a54081 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -67,10 +67,6 @@ }; networkmanager.enable = true; useDHCP = false; - hosts = { - "*.engine.sesar.int" = [ "172.20.28.210" ]; - "vcenter.sesar.int" = [ "172.20.28.20" ]; - }; }; time.timeZone = "Europe/Rome"; From 36757064d754bb050a632d36974b618a0cd26ebf Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sun, 15 May 2022 10:36:00 +0200 Subject: [PATCH 31/80] Fix zrythm + fix sould plugins paths --- flake.lock | 30 ++++++------- home_manager/modules/pro_audio.nix | 14 +++--- home_manager/thor.nix | 69 +++--------------------------- 3 files changed, 29 insertions(+), 84 deletions(-) diff --git a/flake.lock b/flake.lock index 122762c..bfe69ea 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "flake-utils": { "locked": { - "lastModified": 1649676176, - "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", + "lastModified": 1652372896, + "narHash": "sha256-lURGussfF3mGrFPQT3zgW7+RC0pBhbHzco0C7I+ilow=", "owner": "numtide", "repo": "flake-utils", - "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", + "rev": "0d347c56f6f41de822a4f4c7ff5072f3382db121", "type": "github" }, "original": { @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1651652192, - "narHash": "sha256-3FUsIJ81p57rOxODRVZ+anhnVav96VWbgNA1H3Np+TY=", + "lastModified": 1652452043, + "narHash": "sha256-nh3mdVB/Kk5ag1uRMAlKo8r+ssN3HNxwbLsqRG4xZkw=", "owner": "nix-community", "repo": "home-manager", - "rev": "267462dfb36d447421c789a3adf9d460cd09c147", + "rev": "273598f53e04f0111dca5724b37640e3907edaaf", "type": "github" }, "original": { @@ -73,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1651662302, - "narHash": "sha256-utlTjLa1s4ezdQIUvnBtmA9TBYFrPlXpAJnCXEiZFZI=", + "lastModified": 1652544513, + "narHash": "sha256-lFmU0/qodaMd6e7niNfrmi9tGxTcvE2etnNoTAxl7ho=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dff5496b12817e3d019983827c4b7ba7beb96580", + "rev": "6879c4f633ef6adeaeb3964c03964f7c3acd7f42", "type": "github" }, "original": { @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1651632340, - "narHash": "sha256-Kq1yghXZxJ12Sw1nbzoO2Ag8/AxqbbD84wiz8go159o=", + "lastModified": 1652496760, + "narHash": "sha256-AM1almW0FjiUegqfJc6n+OO3yXTCXUsH2IEI323vbJ0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "88991ffbd57e10b474ea768ec0b54c4f379c566c", + "rev": "f9ddceabd2ccd2bf3d08c83832f3709c94287144", "type": "github" }, "original": { @@ -147,11 +147,11 @@ }, "unstable": { "locked": { - "lastModified": 1651558728, - "narHash": "sha256-8HzyRnWlgZluUrVFNOfZAOlA1fghpOSezXvxhalGMUo=", + "lastModified": 1652378906, + "narHash": "sha256-DeV2myAMArPvyqxp0M6z30kuXb2L9SO2QXjxbbsZQyY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cbe587c735b734405f56803e267820ee1559e6c1", + "rev": "d89d7af1ba23bd8a5341d00bdd862e8e9a808f56", "type": "github" }, "original": { diff --git a/home_manager/modules/pro_audio.nix b/home_manager/modules/pro_audio.nix index d19e856..c40523c 100644 --- a/home_manager/modules/pro_audio.nix +++ b/home_manager/modules/pro_audio.nix @@ -1,12 +1,12 @@ { pkgs, ... }: let variables = { - DSSI_PATH = "$HOME/.dssi:$HOME/.nix-profile/lib/dssi:/run/current-system/sw/lib/dssi"; - LADSPA_PATH = "$HOME/.ladspa:$HOME/.nix-profile/lib/ladspa:/run/current-system/sw/lib/ladspa"; - LV2_PATH = "$HOME/.lv2:$HOME/.nix-profile/lib/lv2:/run/current-system/sw/lib/lv2"; - LXVST_PATH = "$HOME/.lxvst:$HOME/.nix-profile/lib/lxvst:/run/current-system/sw/lib/lxvst"; - VST_PATH = "$HOME/.vst:$HOME/.nix-profile/lib/vst:/run/current-system/sw/lib/vst"; - VST3_PATH = "$HOME/.vst3:$HOME/.nix-profile/lib/vst3:/run/current-system/sw/lib/vst3"; + DSSI_PATH = "$HOME/.dssi:$NIX_USER_PROFILE_DIR/home-manager/home-path/lib/dssi:/run/current-system/sw/lib/dssi"; + LADSPA_PATH = "$HOME/.ladspa:$NIX_USER_PROFILE_DIR/home-manager/home-path/lib/ladspa:/run/current-system/sw/lib/ladspa"; + LV2_PATH = "$HOME/.lv2:$NIX_USER_PROFILE_DIR/home-manager/home-path/lib/lv2:/run/current-system/sw/lib/lv2"; + LXVST_PATH = "$HOME/.lxvst:$NIX_USER_PROFILE_DIR/home-manager/home-path/lib/lxvst:/run/current-system/sw/lib/lxvst"; + VST_PATH = "$HOME/.vst:$NIX_USER_PROFILE_DIR/home-manager/home-path/lib/vst:/run/current-system/sw/lib/vst"; + VST3_PATH = "$HOME/.vst3:$NIX_USER_PROFILE_DIR/home-manager/home-path/lib/vst3:/run/current-system/sw/lib/vst3"; }; in { @@ -14,7 +14,7 @@ in carla rnnoise ardour - unstable.zrythm + unstable.zrythm unstable.breeze-icons mixxx # Plugins diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 73ad23e..de78f49 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -7,14 +7,9 @@ options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; }; packages = with pkgs; [ - # pulseaudio - easyeffects - arandr - ark authy bitwarden - (unstable.blender.override { cudaSupport = true; }) btop catgirl # IRC cava @@ -22,68 +17,34 @@ docker-compose docker-machine droidcam + easyeffects # electrum - # element-desktop # element-desktop # matrix client evolution - file filelight # firefox freecad gallery-dl - # gnome.dconf-editor - # gnome.eog - # gnome.evince - # gnomeExtensions.appindicator - # gnomeExtensions.caffeine - # gnomeExtensions.dash-to-dock - # # gnomeExtensions.dynamic-panel-transparency - # gnomeExtensions.dynamic-panel-transparency - # gnomeExtensions.gtile - # gnomeExtensions.just-perfection - # gnomeExtensions.vitals - # gnome.file-roller gnome.geary gnome.gnome-calendar - # gnome.gnome-screenshot + gnome.gnome-screenshot gnome.gnome-sound-recorder - gnome.gnome-sudoku # gnome.gnome-system-monitor - # gnome.gnome-tweaks - # gnome.nautilus - # gnome.quadrapassel - # gnome.seahorse - # gnome.sushi (google-chrome.override { commandLineArgs = [ "--password-store=gnome" ]; }) gucharmap handbrake - htop httpie - # hyperspace-cli + hyperspace-cli inkscape jetbrains.datagrip - kcolorchooser - kdiff3 - # keepassxc - kgpg - # kid3 # tag mp3 - kmail - kompare - kontact - korganizer krita - ksystemlog kubectl lutris meld minecraft - mmv-go mpv mycrypto - neofetch - nixos-option nix-prefetch-scripts - nix-tree obsidian okular openvpn @@ -92,6 +53,8 @@ pcmanfm pentablet-driver procps + # pulseaudio + retroarchFull ripgrep shotwell skypeforlinux @@ -99,32 +62,14 @@ spotify tdesktop teams - tracker transmission-gtk - unrar - unzip + (unstable.blender.override { cudaSupport = true; }) + unstable.zotero virt-manager - wget # wineFull wireguard-tools - xclip xournalpp - yq - zip zoom-us - unstable.zotero - - retroarchFull - # ( - # retroarch.override { - # cores = with pkgs.libretro; [ - # mgba - # pcsx_rearmed - # ppsspp - # ]; - # } - # ) - ]; }; From 421aed8c29459cdcb5779b72494fd8ce4568df3d Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 16 May 2022 10:53:20 +0200 Subject: [PATCH 32/80] Fix nix-locate update timer --- home_manager/modules/nix-index.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/home_manager/modules/nix-index.nix b/home_manager/modules/nix-index.nix index ee9f2e9..23120c8 100644 --- a/home_manager/modules/nix-index.nix +++ b/home_manager/modules/nix-index.nix @@ -12,9 +12,6 @@ Description = "Update the nix-locate database"; After = [ "network.target" ]; }; - Install = { - WantedBy = [ "default.target" ]; - }; Service = { Type = "oneshot"; ExecStart = "${pkgs.nix-index}/bin/nix-index"; @@ -22,9 +19,8 @@ }; timers."nix-index" = { - Unit.Description = "Update the nix-locate database"; - Time = { OnCalendar = "weekly"; Persistent = true; }; - Install.WantedBy = [ "timers.target" ]; + Unit.Description = "Daily update the nix-locate database"; + Timer = { OnCalendar = "daily"; Persistent = true; Unit = "nix-index.service";}; }; }; } From 001e245efc9149799e517aea02b5a03480b5ca4b Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 16 May 2022 10:55:19 +0200 Subject: [PATCH 33/80] Remove joystickwake --- home_manager/odin.nix | 2 +- home_manager/thor.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 88ec5e2..fd001d9 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -124,7 +124,7 @@ ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix - ./modules/joystickwake.nix + # ./modules/joystickwake.nix ./modules/kakoune.nix # ./modules/keepassxc.nix ./modules/kitty.nix diff --git a/home_manager/thor.nix b/home_manager/thor.nix index de78f49..820a90e 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -94,7 +94,7 @@ ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix - ./modules/joystickwake.nix + # ./modules/joystickwake.nix ./modules/kakoune.nix # ./modules/keepassxc.nix ./modules/kitty.nix From f99c04c847717d871c07f4b96aba41403f6a5c72 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 16 May 2022 18:21:52 +0200 Subject: [PATCH 34/80] Better keybindings --- home_manager/modules/sxhkd.nix | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index 7a028f7..737eb2f 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -1,31 +1,27 @@ { config, pkgs, lib, ... }: { + home.packages = with pkgs; [ playerctl pcmanfm pamixer kitty terminator update-background xorg.xbacklight lockscreen ]; services.sxhkd = let primaryTerminal = "kitty"; secondaryTerminal = "terminator"; - pcmanfm = "${pkgs.pcmanfm}/bin/pcmanfm"; - playerctl = "${pkgs.playerctl}/bin/playerctl"; - pamixer = "${pkgs.pamixer}/bin/pamixer"; - terminator = "${pkgs.terminator}/bin/terminator"; - update-backgroundCmd = "${pkgs.update-background}/bin/update-background"; - xbacklight = "${pkgs.xorg.xbacklight}/bin/xbacklight"; + fileManager = "pcmanfm -n"; in { enable = true; keybindings = { - "super + b" = update-backgroundCmd; + "super + b" = "update-background"; "super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; "super + alt + {q,r}" = "bspc {quit,wm -r}"; "super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; - "super + alt + m" = "${pkgs.lockscreen}/bin/lockscreen"; + "super + alt + m" = "lockscreen"; "super + bracket{left,right}" = "bspc desktop -f {prev,next}.local"; "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" = "${pcmanfm} -n"; + "super + e" = fileManager; "super + Escape" = "pkill -USR1 -x sxhkd"; "super + g" = "bspc node -s biggest"; "super + {grave,Tab}" = "bspc {node,desktop} -f last"; @@ -43,9 +39,10 @@ "alt + Tab" = "rofi -show window"; "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"; - "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "${pamixer} {-d 2,-t,-i 2}"; - "XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}"; - "XF86MonBrightness{Up,Down}" = "${xbacklight} {+,-}10%"; + "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "pamixer {-d 2,-t,-i 2} && dunstify -r 1 Volume `pamixer --get-volume-human`"; + "XF86Audio{Next,Play,Prev}" = "playerctl {next,play-pause,previous}"; + "super + alt + {Right,Down,Left}" = "playerctl {next,play-pause,previous}"; + "XF86MonBrightness{Up,Down}" = "xbacklight {+,-}10%"; }; }; } From 0c6ea2bfd929e7421abe70720f09bc81396442e9 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 17 May 2022 09:59:57 +0200 Subject: [PATCH 35/80] Cleanup --- flake.nix | 1 + home_manager/odin.nix | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 61ce006..42d989e 100644 --- a/flake.nix +++ b/flake.nix @@ -54,6 +54,7 @@ update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; lockscreen = final.callPackage ./custom/lockscreen { palette = final.rice.colorPalette; font = final.rice.font.normal; }; }) + (final: prev: { stable = pkgs; }) (final: prev: { unstable = unstablePkgs; }) ]; nixpkgsSettings = { diff --git a/home_manager/odin.nix b/home_manager/odin.nix index fd001d9..5419325 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -46,7 +46,6 @@ httpie # hyperspace-cli inkscape - jabref jetbrains.datagrip # keepassxc krita From 02cb462b5abfdb2e883bde252c5fafaadeda53f7 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 20 May 2022 11:21:55 +0200 Subject: [PATCH 36/80] Kakoune desktop icon --- home_manager/modules/kakoune.nix | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/home_manager/modules/kakoune.nix b/home_manager/modules/kakoune.nix index 45e6aaf..8736246 100644 --- a/home_manager/modules/kakoune.nix +++ b/home_manager/modules/kakoune.nix @@ -34,22 +34,23 @@ let yaml-language-server nodePackages.vscode-langservers-extracted rnix-lsp - # (pkgs.makeDesktopItem - # { - # name = "kakoune"; - # exec = "kak %U"; - # icon = "kakoune"; - # desktopName = "Kakoune"; - # comment = "Kakoune text editor"; - # terminal = true; - # categories = [ "Development" ]; - # }) editorconfig-core-c aspell aspellDicts.en aspellDicts.en-computers aspellDicts.en-science aspellDicts.it + + (pkgs.makeDesktopItem + { + name = "kakoune"; + exec = "kak %U"; + icon = "kakoune"; + desktopName = "Kakoune"; + comment = "Kakoune text editor"; + terminal = true; + categories = [ "Development" ]; + }) ]; in From 9e4ef04bec5b6171e199fd66365e8355b8296a61 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 20 May 2022 14:55:33 +0200 Subject: [PATCH 37/80] Initial flake for loki --- .gitignore | 2 +- flake.nix | 21 ++ loki.nix => home_manager/loki.nix | 0 loki/configuration.nix | 306 ++++++++++++++++++++++++++++++ loki/hardware-configuration.nix | 38 ++++ thor/configuration.nix | 14 +- 6 files changed, 369 insertions(+), 12 deletions(-) rename loki.nix => home_manager/loki.nix (100%) create mode 100644 loki/configuration.nix create mode 100644 loki/hardware-configuration.nix diff --git a/.gitignore b/.gitignore index 8b13789..b2be92b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ - +result diff --git a/flake.nix b/flake.nix index 42d989e..7cfe91b 100644 --- a/flake.nix +++ b/flake.nix @@ -86,6 +86,14 @@ ./thor/configuration.nix ]; + lokiBaseModules = [ + { nixpkgs = nixpkgsSettings; } + ./loki/hardware-configuration.nix + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-pc-ssd + ./loki/configuration.nix + ]; + # odinStable = extraModules: nixpkgs.lib.nixosSystem { # inherit system; # modules = odinBaseModules ++ [ @@ -122,6 +130,15 @@ ] ++ extraModules; }; + lokiUnstable = extraModules: unstable.lib.nixosSystem { + inherit system; + modules = lokiBaseModules ++ [ + home-manager-unstable.nixosModules.home-manager + homeManagerSettings + { home-manager.users.bertof = import ./home_manager/loki.nix; } + ] ++ extraModules; + }; + in { packages.${system} = unstablePkgs; @@ -140,6 +157,10 @@ odin-nvidia-unstable = odinUnstable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; # odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; # odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; + + loki = loki-unstable; + + loki-unstable = lokiUnstable []; }; }; } diff --git a/loki.nix b/home_manager/loki.nix similarity index 100% rename from loki.nix rename to home_manager/loki.nix diff --git a/loki/configuration.nix b/loki/configuration.nix new file mode 100644 index 0000000..259f0ef --- /dev/null +++ b/loki/configuration.nix @@ -0,0 +1,306 @@ +{ config, pkgs, lib, ... }: + +{ + boot = { + binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; + kernelPackages = pkgs.linuxPackages_5_17; + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + }; + + console = { + font = "Lat2-Terminus16"; + keyMap = "it"; + }; + + environment = { + pathsToLink = [ "/share/zsh" ]; + systemPackages = with pkgs; [ kakoune tmux vim ]; + }; + + hardware = { + nvidia.package = config.boot.kernelPackages.nvidiaPackages.legacy_470; + nvidia.prime = { + offload.enable = false; + sync.enable = true; + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + + opengl = { + enable = true; + extraPackages = with pkgs; [ intel-media-driver libvdpau-va-gl vaapiIntel vaapiVdpau ]; + }; + + bluetooth.enable = true; + }; + + i18n.defaultLocale = "it_IT.UTF-8"; + + programs = { + dconf.enable = true; + gnupg.agent = { enable = true; enableSSHSupport = true; }; + zsh = { enable = true; syntaxHighlighting.enable = true; }; + }; + + networking = { + hostName = "loki"; + interfaces = { eno1.useDHCP = true; wlp7s0.useDHCP = true; }; + networkmanager.enable = true; + useDHCP = false; + }; + + time.timeZone = "Europe/Rome"; + + services = { + avahi = { + enable = true; + openFirewall = true; + nssmdns = true; + publish = { + enable = true; + addresses = true; + domain = true; + userServices = true; + workstation = true; + }; + extraServiceFiles = { + ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; + }; + }; + bazarr = { enable = true; openFirewall = true; group = "users"; }; + blueman.enable = true; + dbus.packages = with pkgs; [ dconf ]; + fail2ban = { enable = true; bantime-increment.enable = true; }; + gnome.gnome-keyring.enable = true; + gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; }; + jackett = { enable = true; openFirewall = true; group = "users"; }; + logind.lidSwitch = "ignore"; + node-red = { enable = true; openFirewall = true; withNpmAndGcc = true; }; + openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; }; + plex = { enable = true; openFirewall = true; group = "users"; }; + power-profiles-daemon.enable = true; + radarr = { enable = true; openFirewall = true; group = "users"; }; + samba-wsdd = { enable = true; discovery = true; }; + samba = { + enable = true; + enableNmbd = true; + enableWinbindd = true; + nsswins = true; + extraConfig = '' + workgroup = WORKGROUP + load printers = no + smb encrypt = required + ''; + shares = let common = { + "public" = "no"; + "writeable" = "yes"; + "create mask" = "0700"; + "directory mask" = "2700"; + "browseable" = "yes"; + "guest ok" = "no"; + "read only" = "no"; + "force group" = "users"; + }; in + { + bertof = common // { + path = "/mnt/raid/bertof"; + comment = "Bertof samba share"; + "force user" = "bertof"; + "valid users" = "bertof"; + }; + tiziano = common // { + path = "/mnt/raid/tiziano"; + comment = "Tiziano samba share"; + "force user" = "tiziano"; + "valid users" = "tiziano"; + }; + condiviso = common // { + path = "/mnt/raid/condiviso"; + comment = "Samba share condiviso"; + "valid users" = "bertof tiziano"; + "create mask" = "0770"; + "directory mask" = "2770"; + "force create mode" = "0660"; + "force directory mode" = "2770"; + }; + bertof_safe = common // { + path = "/mnt/raid1/bertof"; + comment = "Bertof samba share"; + "force user" = "bertof"; + "valid users" = "bertof"; + }; + tiziano_safe = common // { + path = "/mnt/raid1/tiziano"; + comment = "Tiziano samba share"; + "force user" = "tiziano"; + "valid users" = "tiziano"; + }; + condiviso_safe = common // { + path = "/mnt/raid1/condiviso"; + comment = "Samba share condiviso"; + "valid users" = "bertof tiziano"; + "create mask" = "0770"; + "directory mask" = "2770"; + "force create mode" = "0660"; + "force directory mode" = "2770"; + }; + }; + }; + smartd = { enable = true; notifications.x11.enable = true; }; + sonarr = { enable = true; openFirewall = true; group = "users"; }; + thermald.enable = true; + transmission = { + enable = true; + openFirewall = true; + group = "users"; + settings = { + download-dir = "/mnt/raid/condiviso/Scaricati/Torrent"; + incomplete-dir = "/mnt/raid/condiviso/Scaricati/Torrent/.incomplete"; + }; + }; + xserver = { + enable = true; + videoDrivers = [ "nvidia" ]; + layout = "it"; + xkbOptions = "eurosign:e;"; + libinput.enable = true; + }; + zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; + }; + + users.users = { + bertof = { + isNormalUser = true; + extraGroups = [ "audio" "input" "docker" "libvirtd" "network" "usb" "video" "wheel" ]; + openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+zsSWZFFzQKnATCAvtG+iuSm4qkZHjCtHzGa9B/71W" ]; + shell = pkgs.zsh; + }; + tiziano = { + isNormalUser = true; + openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMExwtJFk6HjySrTZwJH67SOHC3hlL28NO4oe2GXsv6k" ]; + }; + }; + + # services.snapper = { + # configs = + # let + # bertofExtraConfig = '' + # ALLOW_USERS="bertof" + # TIMELINE_CREATE=yes + # TIMELINE_CLEANUP=yes + # ''; + # common = { extraConfig = bertofExtraConfig; }; + # in + # { + # bertof_home = common // { subvolume = "/home/bertof"; }; + # }; + # }; + + + systemd.packages = with pkgs; [ syncthing ]; + systemd.services = let common = { + after = [ "network.target" ]; + environment = { STNORESTART = "yes"; STNOUPGRADE = "yes"; }; + wantedBy = [ "default.target" ]; + serviceConfig = { + Restart = "on-failure"; + SuccessExitStatus = "2 3 4"; + RestartForceExitStatus = "3 4"; + Group = config.ids.gids.users; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = true; + ProtectControlGroups = true; + ProtectHostname = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + CapabilityBoundingSet = [ "~CAP_SYS_PTRACE" "~CAP_SYS_ADMIN" "~CAP_SETGID" "~CAP_SETUID" "~CAP_SETPCAP" "~CAP_SYS_TIME" "~CAP_KILL" ]; + }; + }; in + { + syncthing-bertof = common // { + description = "Syncthing service bertof"; + serviceConfig = { User = "bertof"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -home=/mnt/raid/bertof/Syncthing/.config"; }; + }; + syncthing-tiziano = common // { + description = "Syncthing service tiziano"; + serviceConfig = { User = "tiziano"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8385 -home=/mnt/raid/tiziano/Syncthing/.config"; }; + }; + }; + + networking.firewall = { + enable = true; + allowPing = true; + allowedTCPPorts = [ + 445 # SAMBA + 139 # SAMBA + 5357 # SAMBA-WSDD + 8123 # HOME ASSISTANT + 8384 # SYNCTHING + 8385 # SYNCTHING + ]; + allowedUDPPorts = [ + 137 # SYNCTHING + 138 # SYNCTHING + 3702 # SAMBA-WSDD + ]; + extraCommands = ''iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns''; + }; + + virtualisation = { + docker.enable = true; + kvmgt.enable = true; + libvirtd.enable = true; + podman.enable = true; + virtualbox.host.enable = true; + + oci-containers.containers = { + hass = { + image = "ghcr.io/home-assistant/home-assistant:stable"; + environment = { + TZ = "Europe/Rome"; + }; + extraOptions = [ "--privileged" "--network=host" "--pull=always" ]; + ports = [ "8123:8123" ]; + volumes = [ + "/var/lib/hass:/config" + "/mnt/raid/condiviso:/media" + ]; + }; + }; + }; + + + security.sudo.extraConfig = '' + Defaults pwfeedback + ''; + + nixpkgs.config.allowUnfree = true; + nix = { + package = pkgs.nixFlakes; + extraOptions = lib.optionalString (config.nix.package == pkgs.nixFlakes) + "experimental-features = nix-command flakes"; + gc.automatic = true; + }; + + system.autoUpgrade = { + enable = true; + allowReboot = true; + flags = [ + "-I" + "nixos-config=/home/bertof/.config/nixpkgs/nixos/loki.nix" + "--upgrade" + ]; + }; + + system.stateVersion = "21.11"; +} diff --git a/loki/hardware-configuration.nix b/loki/hardware-configuration.nix new file mode 100644 index 0000000..b96a203 --- /dev/null +++ b/loki/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "uas" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/eb51e914-c9ab-400d-bd2a-004a3b788caa"; + fsType = "btrfs"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/8A71-E5EB"; + fsType = "vfat"; + }; + + fileSystems."/mnt/raid" = { + device = "/dev/sdc"; + fsType = "btrfs"; + }; + + fileSystems."/mnt/raid1" = { + device = "/dev/sde1"; + fsType = "btrfs"; + }; + + swapDevices = [ ]; + +} diff --git a/thor/configuration.nix b/thor/configuration.nix index 2a54081..ef466db 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -46,17 +46,9 @@ programs = { dconf.enable = true; flashrom.enable = true; - gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - steam = { - enable = true; - }; - zsh = { - enable = true; - syntaxHighlighting.enable = true; - }; + gnupg.agent = { enable = true; enableSSHSupport = true; }; + steam = { enable = true; }; + zsh = { enable = true; syntaxHighlighting.enable = true; }; }; networking = { From 69933173c201aa61fb42739e9adc83a704d073f1 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 20 May 2022 21:58:25 +0000 Subject: [PATCH 38/80] Amethyst theme WIP --- themes/amethyst.kix.tmp | 147 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 themes/amethyst.kix.tmp diff --git a/themes/amethyst.kix.tmp b/themes/amethyst.kix.tmp new file mode 100644 index 0000000..7d63fb6 --- /dev/null +++ b/themes/amethyst.kix.tmp @@ -0,0 +1,147 @@ +[ColorEffects:Disabled] + Color=23,23,23 + ColorAmount=0 + ColorEffect=0 + ContrastAmount=0.65 + ContrastEffect=1 + IntensityAmount=0.1 + IntensityEffect=2 + + [ColorEffects:Inactive] + ChangeSelectionColor=true + Color=112,111,110 + ColorAmount=0.025 + ColorEffect=2 + ContrastAmount=0.1 + ContrastEffect=2 + Enable=false + IntensityAmount=0 + IntensityEffect=0 + + [Colors:Button] + BackgroundAlternate=64,69,82 + BackgroundNormal=22,22,46 + DecorationFocus=39,119,255 + DecorationHover=39,119,255 + ForegroundActive=61,174,233 + ForegroundInactive=102,106,115 + ForegroundLink=41,128,185 + ForegroundNegative=39,109,251 + ForegroundNeutral=255,106,0 + ForegroundNormal=195,199,209 + ForegroundPositive=113,247,159 + ForegroundVisited=2,224,132 + + [Colors:Complementary] + BackgroundAlternate=24,24,41 + BackgroundNormal=39,39,69 + DecorationFocus=39,119,255 + DecorationHover=39,119,255 + ForegroundActive=0,193,228 + ForegroundInactive=102,106,115 + ForegroundLink=2,224,132 + ForegroundNegative=39,109,251 + ForegroundNeutral=255,106,0 + ForegroundNormal=211,218,227 + ForegroundPositive=113,247,159 + ForegroundVisited=124,183,255 + + [Colors:Header] + BackgroundAlternate=24,24,41 + BackgroundNormal=38,38,67,204 + DecorationFocus=39,119,255 + DecorationHover=39,119,255 + ForegroundActive=0,193,228 + ForegroundInactive=102,106,115 + ForegroundLink=2,224,132 + ForegroundNegative=39,109,251 + ForegroundNeutral=255,106,0 + ForegroundNormal=211,218,227 + ForegroundPositive=113,247,159 + ForegroundVisited=124,183,255 + + [Colors:Header][Inactive] + BackgroundAlternate=24,24,41 + BackgroundNormal=39,39,69,204 + DecorationFocus=39,119,255 + DecorationHover=39,119,255 + ForegroundActive=0,193,228 + ForegroundInactive=102,106,115 + ForegroundLink=2,224,132 + ForegroundNegative=39,109,251 + ForegroundNeutral=255,106,0 + ForegroundNormal=211,218,227 + ForegroundPositive=113,247,159 + ForegroundVisited=124,183,255 + + [Colors:Selection] + BackgroundAlternate=34,130,109 + BackgroundNormal=39,119,255 + DecorationFocus=132,76,98 + DecorationHover=132,76,98 + ForegroundActive=252,252,252 + ForegroundInactive=211,218,227 + ForegroundLink=2,39,200 + ForegroundNegative=212,32,35 + ForegroundNeutral=255,247,0 + ForegroundNormal=8,27,25 + ForegroundPositive=23,69,0 + ForegroundVisited=126,9,199 + + [Colors:Tooltip] + BackgroundAlternate=39,39,69 + BackgroundNormal=53,57,69 + DecorationFocus=39,119,255 + DecorationHover=39,119,255 + ForegroundActive=61,174,233 + ForegroundInactive=102,106,115 + ForegroundLink=41,128,185 + ForegroundNegative=39,109,251 + ForegroundNeutral=255,106,0 + ForegroundNormal=211,218,227 + ForegroundPositive=113,247,159 + ForegroundVisited=2,224,132 + + [Colors:View] + BackgroundAlternate=24,24,41 + BackgroundNormal=39,39,69 + DecorationFocus=39,119,255 + DecorationHover=39,119,255 + ForegroundActive=0,193,228 + ForegroundInactive=102,106,115 + ForegroundLink=2,224,132 + ForegroundNegative=39,109,251 + ForegroundNeutral=255,106,0 + ForegroundNormal=211,218,227 + ForegroundPositive=113,247,159 + ForegroundVisited=124,183,255 + + [Colors:Window] + BackgroundAlternate=39,39,69 + BackgroundNormal=38,38,67 + DecorationFocus=112,120,135 + DecorationHover=39,119,255 + ForegroundActive=61,174,233 + ForegroundInactive=102,106,115 + ForegroundLink=41,128,185 + ForegroundNegative=39,109,251 + ForegroundNeutral=255,106,0 + ForegroundNormal=211,218,227 + ForegroundPositive=113,247,159 + ForegroundVisited=179,13,191 + + [General] + ColorScheme=Amethyst + Name=Amethyst + shadeSortColumn=true + + [KDE] + contrast=4 + + [WM] + activeBackground=38,38,67,204 + activeBlend=39,39,69 + activeForeground=211,218,227 + inactiveBackground=39,39,69,204 + inactiveBlend=39,39,69 + inactiveForeground=102,106,115 From 87518f28fa89077ca5b7afcfaadf597c579a2af7 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sat, 21 May 2022 23:41:13 +0200 Subject: [PATCH 39/80] Various updates --- home_manager/modules/git.nix | 2 +- home_manager/modules/polybar.nix | 4 +++- home_manager/modules/sxhkd.nix | 11 ++++++++++- home_manager/thor.nix | 1 + 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/home_manager/modules/git.nix b/home_manager/modules/git.nix index 82f0ceb..07db56e 100644 --- a/home_manager/modules/git.nix +++ b/home_manager/modules/git.nix @@ -100,7 +100,7 @@ in extraConfig = { commit.gpgSign = true; core.editor = kak; - credential.helper = "cache --timeout = 3600 "; + credential.helper = "cache --timeout=3600 "; diff.guitool = meld; init.defaultBranch = "main"; merge.guitool = meld; diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index e06cdfc..76ef53f 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -65,8 +65,9 @@ let }; font = [ "${pkgs.rice.font.monospace.name}:size=${toString pkgs.rice.font.monospace.size};2" + "Font Awesome 6 Free:size=14;0" "Material Design Icons:size=${toString pkgs.rice.font.monospace.size};2" - "NotoEmoji Nerd Font Mono:size=${toString pkgs.rice.font.monospace.size};0" + "EmojiOne Color:size=${toString pkgs.rice.font.monospace.size};0" ]; wm-restack = "bspwm"; }; @@ -79,6 +80,7 @@ in emojione noto-fonts-emoji material-design-icons + font-awesome ]; services.polybar = { enable = true; diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index 737eb2f..ad48ec3 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -1,6 +1,15 @@ { config, pkgs, lib, ... }: { - home.packages = with pkgs; [ playerctl pcmanfm pamixer kitty terminator update-background xorg.xbacklight lockscreen ]; + home.packages = with pkgs; [ + kitty + lockscreen + pamixer + pcmanfm + playerctl + terminator + update-background + xorg.xbacklight + ]; services.sxhkd = let primaryTerminal = "kitty"; diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 820a90e..035ee8b 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -25,6 +25,7 @@ # firefox freecad gallery-dl + gnome.file-roller gnome.geary gnome.gnome-calendar gnome.gnome-screenshot From ed0ae48c75d1971d57f2eea776993bcf8a068a77 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sat, 21 May 2022 23:47:50 +0200 Subject: [PATCH 40/80] Logout script --- home_manager/modules/polybar.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index 76ef53f..2ceb9e1 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -13,6 +13,10 @@ let systemctl = "${pkgs.systemd}/bin/systemctl"; loginctl = "${pkgs.systemd}/bin/loginctl"; shutdown = "${pkgs.systemd}/bin/shutdown"; + logout = pkgs.writeShellScript "logout" '' + session=`${loginctl} session-status | ${pkgs.coreutils}/bin/head -n 1 | ${pkgs.gawk}/bin/awk '{print $1}'` + ${loginctl} terminate-session $session + ''; colors = with pkgs.rice; palette.toARGBHex rec { normal = { @@ -314,7 +318,7 @@ in ({ text = "Power off"; exec = "#powermenu.open.4"; }) ] [ - ({ text = "Logout"; exec = "${loginctl} terminate-session `loginctl session-status | head -n 1 | awk '{print $1}'`"; }) + ({ text = "Logout"; exec = logout; }) ] [ ({ text = "Reboot"; exec = "${systemctl} reboot"; }) From 464c038a5b998a5a44eb0257071ed10c0b5a7e78 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 25 May 2022 10:10:20 +0200 Subject: [PATCH 41/80] Chrome dark mode --- home_manager/modules/webapp.nix | 2 +- home_manager/odin.nix | 2 +- home_manager/thor.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/home_manager/modules/webapp.nix b/home_manager/modules/webapp.nix index d3a8814..b576563 100644 --- a/home_manager/modules/webapp.nix +++ b/home_manager/modules/webapp.nix @@ -1,7 +1,7 @@ { pkgs, lib, ... }: # Categories: https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry let - cmd = link: "${pkgs.google-chrome}/bin/google-chrome-stable --app=${link}"; + cmd = link: "google-chrome-stable --app=${link}"; links = [ { desktopName = "Google Calendar"; link = "https://google.com/calendar"; categories = [ "Office" ]; } { desktopName = "Google Keep"; link = "https://keep.google.com"; categories = [ "Office" ]; } diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 5419325..6b40d81 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -39,7 +39,7 @@ # gnome.quadrapassel # gnome.seahorse # gnome.sushi - (google-chrome.override { commandLineArgs = [ "--password-store=gnome" ]; }) + (google-chrome.override { commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ]; }) gucharmap handbrake htop diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 035ee8b..ac98434 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -31,7 +31,7 @@ gnome.gnome-screenshot gnome.gnome-sound-recorder # gnome.gnome-system-monitor - (google-chrome.override { commandLineArgs = [ "--password-store=gnome" ]; }) + (google-chrome.override { commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ]; }) gucharmap handbrake httpie From 5bf18a0daf031f2169d48dae3f26596920001860 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 26 May 2022 17:12:53 +0200 Subject: [PATCH 42/80] Add Signal --- home_manager/odin.nix | 1 + home_manager/thor.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 6b40d81..60a939f 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -70,6 +70,7 @@ # pulseaudio retroarchFull ripgrep + signal-desktop skypeforlinux # slack spotify diff --git a/home_manager/thor.nix b/home_manager/thor.nix index ac98434..9deacb2 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -58,6 +58,7 @@ retroarchFull ripgrep shotwell + signal-desktop skypeforlinux # slack spotify From b47d3301eefed69c6d02f5a336f769adccf58651 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 27 May 2022 10:48:39 +0200 Subject: [PATCH 43/80] Enable pass --- home_manager/modules/pass.nix | 5 +++++ home_manager/odin.nix | 1 + home_manager/thor.nix | 1 + 3 files changed, 7 insertions(+) create mode 100644 home_manager/modules/pass.nix diff --git a/home_manager/modules/pass.nix b/home_manager/modules/pass.nix new file mode 100644 index 0000000..23de304 --- /dev/null +++ b/home_manager/modules/pass.nix @@ -0,0 +1,5 @@ +{ + programs.password-store = { + enable = true; + }; +} diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 60a939f..bf4e6f1 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -136,6 +136,7 @@ ./modules/obs-studio.nix ./modules/office.nix ./modules/onedrive.nix + ./modules/pass.nix ./modules/picom.nix ./modules/polybar.nix ./modules/pro_audio.nix diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 9deacb2..bf30e64 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -107,6 +107,7 @@ ./modules/obs-studio.nix ./modules/office.nix ./modules/onedrive.nix + ./modules/pass.nix ./modules/picom.nix ./modules/polybar.nix ./modules/pro_audio.nix From 1943b42e0703d3e8e1552281c1d627d0f52e2d7a Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 27 May 2022 14:54:49 +0200 Subject: [PATCH 44/80] Easy effects --- home_manager/modules/easyeffects.nix | 3 +++ home_manager/odin.nix | 1 + home_manager/thor.nix | 1 + 3 files changed, 5 insertions(+) create mode 100644 home_manager/modules/easyeffects.nix diff --git a/home_manager/modules/easyeffects.nix b/home_manager/modules/easyeffects.nix new file mode 100644 index 0000000..6a94385 --- /dev/null +++ b/home_manager/modules/easyeffects.nix @@ -0,0 +1,3 @@ +{ + services.easyeffects.enable = true; +} diff --git a/home_manager/odin.nix b/home_manager/odin.nix index bf4e6f1..75f29f0 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -121,6 +121,7 @@ ./modules/alacritty.nix ./modules/autorandr.nix ./modules/bspwm.nix + ./modules/easyeffects.nix ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix diff --git a/home_manager/thor.nix b/home_manager/thor.nix index bf30e64..4d83a29 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -93,6 +93,7 @@ ./modules/alacritty.nix ./modules/autorandr.nix ./modules/bspwm.nix + ./modules/easyeffects.nix ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix From 25d40e92e63e19159ca0e9300c10c49006f38b40 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 30 May 2022 11:38:24 +0200 Subject: [PATCH 45/80] Add basic helix config --- home_manager/modules/helix.nix | 71 ++++++++++++++++++++++++++++++++++ home_manager/odin.nix | 1 + home_manager/thor.nix | 1 + 3 files changed, 73 insertions(+) create mode 100644 home_manager/modules/helix.nix diff --git a/home_manager/modules/helix.nix b/home_manager/modules/helix.nix new file mode 100644 index 0000000..fda47d5 --- /dev/null +++ b/home_manager/modules/helix.nix @@ -0,0 +1,71 @@ +{ pkgs, ... }: +{ + + + programs.helix = { + enable = true; + languages = [ ]; + settings = { }; + + + + themes = + let + strPalette = with pkgs.rice; palette.toRgbShortHex coloPalette; + transparent = "none"; + gray = "#665c54"; + dark-gray = "#3c3836"; + white = "#fbf1c7"; + black = "#282828"; + red = "#fb4934"; + green = "#b8bb26"; + yellow = "#fabd2f"; + orange = "#fe8019"; + blue = "#83a598"; + magenta = "#d3869b"; + cyan = "#8ec07c"; + in + { + base16 = { + "ui.menu" = transparent; + "ui.menu.selected" = { modifiers = [ "reversed" ]; }; + "ui.linenr" = { 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; + }; + }; + }; +} diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 75f29f0..7738e5c 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -125,6 +125,7 @@ ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix + ./modules/helix.nix # ./modules/joystickwake.nix ./modules/kakoune.nix # ./modules/keepassxc.nix diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 4d83a29..fcc21b5 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -97,6 +97,7 @@ ./modules/dunst.nix # ./modules/grobi.nix ./modules/gtk_theme.nix + ./modules/helix.nix # ./modules/joystickwake.nix ./modules/kakoune.nix # ./modules/keepassxc.nix From 94af15fbe8a66da52e253f9c1feb0360846ed515 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 30 May 2022 23:00:41 +0200 Subject: [PATCH 46/80] Force pulse audio libs --- home_manager/odin.nix | 2 ++ home_manager/thor.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 7738e5c..622d4d0 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -7,6 +7,8 @@ options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; }; packages = with pkgs; [ + pulseaudio + arandr authy bitwarden diff --git a/home_manager/thor.nix b/home_manager/thor.nix index fcc21b5..38c179c 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -7,6 +7,8 @@ options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; }; packages = with pkgs; [ + pulseaudio + arandr authy bitwarden From e2ffdeb31e4680be84f7682d8bafa08782c96b37 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 31 May 2022 00:35:32 +0200 Subject: [PATCH 47/80] Update Helix editor --- home_manager/modules/helix.nix | 12 ++++++------ home_manager/modules/kakoune.nix | 1 - home_manager/modules/sxhkd.nix | 4 ++-- home_manager/odin.nix | 4 +++- home_manager/thor.nix | 2 ++ 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/home_manager/modules/helix.nix b/home_manager/modules/helix.nix index fda47d5..c1f9c28 100644 --- a/home_manager/modules/helix.nix +++ b/home_manager/modules/helix.nix @@ -1,14 +1,14 @@ { pkgs, ... }: { - - + home.sessionVariables = { EDITOR = "hx"; VISUAL = "hx"; }; programs.helix = { enable = true; languages = [ ]; - settings = { }; - - - + settings = { + theme = "monokai_pro_octagon"; + editor.true-color = true; + editor.lsp.display-messages = true; + }; themes = let strPalette = with pkgs.rice; palette.toRgbShortHex coloPalette; diff --git a/home_manager/modules/kakoune.nix b/home_manager/modules/kakoune.nix index 8736246..781bcb9 100644 --- a/home_manager/modules/kakoune.nix +++ b/home_manager/modules/kakoune.nix @@ -55,7 +55,6 @@ let in { - home.sessionVariables = { EDITOR = "kak"; VISUAL = "kak"; }; programs.bash.shellAliases = { k = "kak"; }; programs.zsh.shellAliases = { k = "kak"; }; home.packages = packages; diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index ad48ec3..dd4182e 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -4,7 +4,7 @@ kitty lockscreen pamixer - pcmanfm + (xfce.thunar) playerctl terminator update-background @@ -14,7 +14,7 @@ let primaryTerminal = "kitty"; secondaryTerminal = "terminator"; - fileManager = "pcmanfm -n"; + fileManager = "thunar"; in { enable = true; diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 622d4d0..3a1d960 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -66,7 +66,7 @@ openvpn p7zip pavucontrol - pcmanfm + # pcmanfm pentablet-driver procps # pulseaudio @@ -89,6 +89,8 @@ # wineFull wireguard-tools xclip + (xfce.thunar) + (xfce.tumblr) xournalpp yq zip diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 38c179c..5112597 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -72,6 +72,8 @@ virt-manager # wineFull wireguard-tools + (xfce.thunar) + (xfce.tumbler) xournalpp zoom-us ]; From 9f9063ea4a78e237444fd4695f636c73dcd88746 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 31 May 2022 10:01:37 +0200 Subject: [PATCH 48/80] Editors desktop items --- home_manager/modules/helix.nix | 12 ++++++++++++ home_manager/modules/kakoune.nix | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/home_manager/modules/helix.nix b/home_manager/modules/helix.nix index c1f9c28..e8bc053 100644 --- a/home_manager/modules/helix.nix +++ b/home_manager/modules/helix.nix @@ -1,6 +1,18 @@ { pkgs, ... }: { home.sessionVariables = { EDITOR = "hx"; VISUAL = "hx"; }; + home.packages = [ + (pkgs.makeDesktopItem + { + name = "helix"; + exec = "hx %F"; + icon = "helix"; + desktopName = "Helix"; + comment = "Helix text editor"; + terminal = true; + categories = [ "Development" ]; + }) + ]; programs.helix = { enable = true; languages = [ ]; diff --git a/home_manager/modules/kakoune.nix b/home_manager/modules/kakoune.nix index 781bcb9..746292b 100644 --- a/home_manager/modules/kakoune.nix +++ b/home_manager/modules/kakoune.nix @@ -44,7 +44,7 @@ let (pkgs.makeDesktopItem { name = "kakoune"; - exec = "kak %U"; + exec = "kak %F"; icon = "kakoune"; desktopName = "Kakoune"; comment = "Kakoune text editor"; From 6906d66fe9194564fa9f05928d11e910538faeb5 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 31 May 2022 10:08:04 +0200 Subject: [PATCH 49/80] Fix odin config --- home_manager/odin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 3a1d960..1f783e5 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -90,7 +90,7 @@ wireguard-tools xclip (xfce.thunar) - (xfce.tumblr) + (xfce.tumbler) xournalpp yq zip From 7dbae6094ed75d3d707e108766c40920e7f0a27f Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 31 May 2022 10:12:24 +0200 Subject: [PATCH 50/80] Helix alias --- home_manager/modules/helix.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home_manager/modules/helix.nix b/home_manager/modules/helix.nix index e8bc053..ca9f40a 100644 --- a/home_manager/modules/helix.nix +++ b/home_manager/modules/helix.nix @@ -1,5 +1,7 @@ { pkgs, ... }: { + programs.bash.shellAliases = { x = "hx"; }; + programs.zsh.shellAliases = { x = "hx"; }; home.sessionVariables = { EDITOR = "hx"; VISUAL = "hx"; }; home.packages = [ (pkgs.makeDesktopItem From a692b53f91f87bdf0bd996b2ece7d10996542aea Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 31 May 2022 13:21:39 +0200 Subject: [PATCH 51/80] Fix odin config --- flake.lock | 16 ++++----- flake.nix | 62 ++++++++++++++++++++-------------- home_manager/modules/helix.nix | 3 +- odin/common_configuration.nix | 5 ++- 4 files changed, 50 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index bfe69ea..b5ff140 100644 --- a/flake.lock +++ b/flake.lock @@ -22,16 +22,16 @@ ] }, "locked": { - "lastModified": 1651519540, - "narHash": "sha256-3k6p8VsTwwRPQjE8rrMh+o2AZACZn/eeYJ7ivdQ/Iro=", + "lastModified": 1653937612, + "narHash": "sha256-HybwffYKOM3UwlY54ZVCZgX7o5xpp2KhbZyyOnvwFMo=", "owner": "nix-community", "repo": "home-manager", - "rev": "d93d56ab8c1c6aa575854a79b9d2f69d491db7d0", + "rev": "bda2c80b4c1a8d85c84c343a25ac7303fbc7999d", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-21.11", + "ref": "release-22.05", "repo": "home-manager", "type": "github" } @@ -73,16 +73,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1652544513, - "narHash": "sha256-lFmU0/qodaMd6e7niNfrmi9tGxTcvE2etnNoTAxl7ho=", + "lastModified": 1653979012, + "narHash": "sha256-Md1OeSa4WwrtsjJKanOyrNfo9WbRCgURk23iRhUI2LU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6879c4f633ef6adeaeb3964c03964f7c3acd7f42", + "rev": "9b5e34626fbb7c251bf2c994f0b4334ab21df631", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-21.11", + "ref": "release-22.05", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 7cfe91b..86fdac8 100644 --- a/flake.nix +++ b/flake.nix @@ -2,10 +2,11 @@ description = "Thor system configuration"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/release-21.11"; + + nixpkgs.url = "github:NixOS/nixpkgs/release-22.05"; home-manager = { - url = "github:nix-community/home-manager/release-21.11"; + url = "github:nix-community/home-manager/release-22.05"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -94,14 +95,14 @@ ./loki/configuration.nix ]; - # odinStable = extraModules: nixpkgs.lib.nixosSystem { - # inherit system; - # modules = odinBaseModules ++ [ - # home-manager.nixosModules.home-manager - # homeManagerSettings - # { home-manager.users.bertof = import ./home_manager/odin.nix; } - # ] ++ extraModules; - # }; + odinStable = extraModules: nixpkgs.lib.nixosSystem { + inherit system; + modules = odinBaseModules ++ [ + home-manager.nixosModules.home-manager + homeManagerSettings + { home-manager.users.bertof = import ./home_manager/odin.nix; } + ] ++ extraModules; + }; odinUnstable = extraModules: unstable.lib.nixosSystem { inherit system; @@ -112,14 +113,14 @@ ] ++ extraModules; }; - # thorStable = extraModules: nixpkgs.lib.nixosSystem { - # inherit system; - # modules = thorBaseModules ++ [ - # home-manager.nixosModules.home-manager - # homeManagerSettings - # { home-manager.users.bertof = import ./home_manager/thor.nix; } - # ] ++ extraModules; - # }; + thorStable = extraModules: nixpkgs.lib.nixosSystem { + inherit system; + modules = thorBaseModules ++ [ + home-manager.nixosModules.home-manager + homeManagerSettings + { home-manager.users.bertof = import ./home_manager/thor.nix; } + ] ++ extraModules; + }; thorUnstable = extraModules: unstable.lib.nixosSystem { inherit system; @@ -139,6 +140,15 @@ ] ++ extraModules; }; + lokiStable = extraModules: nixpkgs.lib.nixosSystem { + inherit system; + modules = lokiBaseModules ++ [ + home-manager.nixosModules.home-manager + homeManagerSettings + { home-manager.users.bertof = import ./home_manager/loki.nix; } + ] ++ extraModules; + }; + in { packages.${system} = unstablePkgs; @@ -146,21 +156,21 @@ nixosConfigurations = rec { thor = thor-unstable; - - # thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; + thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; - thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ./nixos_modules/sesar.nix ]; + # thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ./nixos_modules/sesar.nix ]; odin = odin-intel-unstable; - + odin-stable = odin-intel-stable; odin-intel-unstable = odinUnstable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; odin-nvidia-unstable = odinUnstable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; - # odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; - # odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; + odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; + odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; loki = loki-unstable; - - loki-unstable = lokiUnstable []; + loki-stable = lokiStable []; + loki-unstable = lokiUnstable [ ]; + }; }; } diff --git a/home_manager/modules/helix.nix b/home_manager/modules/helix.nix index ca9f40a..114a934 100644 --- a/home_manager/modules/helix.nix +++ b/home_manager/modules/helix.nix @@ -20,8 +20,9 @@ languages = [ ]; settings = { theme = "monokai_pro_octagon"; - editor.true-color = true; editor.lsp.display-messages = true; + editor.scrolloff = 5; + editor.true-color = true; }; themes = let diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index 8eec21a..e19bf6a 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -75,7 +75,10 @@ # Enable CUPS to print documents. services.printing = { enable = true; - drivers = with pkgs; [ gutenprint cups-kyocera ]; + drivers = with pkgs; [ + gutenprint + # cups-kyocera + ]; }; services.fwupd.enable = true; From cb7b847db6095e0e657fa30bedcb3d9e96d3bd9a Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 31 May 2022 17:34:19 +0200 Subject: [PATCH 52/80] Various fixes --- home_manager/modules/fonts.nix | 4 +++- home_manager/modules/git.nix | 2 +- home_manager/odin.nix | 5 +++-- home_manager/thor.nix | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/home_manager/modules/fonts.nix b/home_manager/modules/fonts.nix index 9e7e5e8..c85dac8 100644 --- a/home_manager/modules/fonts.nix +++ b/home_manager/modules/fonts.nix @@ -7,7 +7,9 @@ dejavu_fonts noto-fonts noto-fonts-extra - noto-fonts-cjk + noto-fonts-cjk-sans font-awesome + corefonts # Microsoft fonts + vistafonts ]; } diff --git a/home_manager/modules/git.nix b/home_manager/modules/git.nix index 07db56e..a0cb5d7 100644 --- a/home_manager/modules/git.nix +++ b/home_manager/modules/git.nix @@ -99,7 +99,7 @@ in # }; extraConfig = { commit.gpgSign = true; - core.editor = kak; + # core.editor = kak; credential.helper = "cache --timeout=3600 "; diff.guitool = meld; init.defaultBranch = "main"; diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 1f783e5..efe4e4d 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -89,8 +89,9 @@ # wineFull wireguard-tools xclip - (xfce.thunar) - (xfce.tumbler) + xfce.thunar + xfce.tumbler + xfce.xfconf xournalpp yq zip diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 5112597..f5302c0 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -72,8 +72,8 @@ virt-manager # wineFull wireguard-tools - (xfce.thunar) - (xfce.tumbler) + xfce.thunar + xfce.tumbler xournalpp zoom-us ]; From 38e4291b9583b6ece57489e846f06ba97958863a Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 1 Jun 2022 09:49:39 +0200 Subject: [PATCH 53/80] Fix thunar configuration for thor --- home_manager/thor.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home_manager/thor.nix b/home_manager/thor.nix index f5302c0..0d50952 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -74,6 +74,7 @@ wireguard-tools xfce.thunar xfce.tumbler + xfce.xfconf xournalpp zoom-us ]; From 2916aaa29b253670bfb48968a4ce81a9facad566 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 1 Jun 2022 11:23:20 +0200 Subject: [PATCH 54/80] Thunar module --- home_manager/modules/sxhkd.nix | 3 ++- home_manager/modules/thunar.nix | 8 ++++++++ home_manager/odin.nix | 4 +--- home_manager/thor.nix | 4 +--- 4 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 home_manager/modules/thunar.nix diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index dd4182e..11c324c 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -1,10 +1,10 @@ { config, pkgs, lib, ... }: { + imports = [ ./thunar.nix ]; home.packages = with pkgs; [ kitty lockscreen pamixer - (xfce.thunar) playerctl terminator update-background @@ -21,6 +21,7 @@ keybindings = { "super + b" = "update-background"; "super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; + "super + alt + p" = "autorandr -c"; "super + alt + {q,r}" = "bspc {quit,wm -r}"; "super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; "super + alt + m" = "lockscreen"; diff --git a/home_manager/modules/thunar.nix b/home_manager/modules/thunar.nix new file mode 100644 index 0000000..92d40b6 --- /dev/null +++ b/home_manager/modules/thunar.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs.xfce; [ + thunar + tumbler + xfconf + ]; +} diff --git a/home_manager/odin.nix b/home_manager/odin.nix index efe4e4d..641f6de 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -89,9 +89,6 @@ # wineFull wireguard-tools xclip - xfce.thunar - xfce.tumbler - xfce.xfconf xournalpp yq zip @@ -155,6 +152,7 @@ ./modules/sxhkd.nix ./modules/syncthing.nix ./modules/terminator.nix + ./modules/thunar.nix ./modules/update_background.nix ./modules/webapp.nix ./modules/xidlehook.nix diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 0d50952..9419519 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -72,9 +72,6 @@ virt-manager # wineFull wireguard-tools - xfce.thunar - xfce.tumbler - xfce.xfconf xournalpp zoom-us ]; @@ -125,6 +122,7 @@ ./modules/sxhkd.nix ./modules/syncthing.nix ./modules/terminator.nix + ./modules/thunar.nix ./modules/update_background.nix ./modules/webapp.nix ./modules/xidlehook.nix From dfd4548fba98893589782a512e255f7ee1978ae0 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 1 Jun 2022 14:17:07 +0200 Subject: [PATCH 55/80] Fix nix-index timer --- home_manager/modules/nix-index.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home_manager/modules/nix-index.nix b/home_manager/modules/nix-index.nix index 23120c8..54e2c67 100644 --- a/home_manager/modules/nix-index.nix +++ b/home_manager/modules/nix-index.nix @@ -21,6 +21,7 @@ timers."nix-index" = { Unit.Description = "Daily update the nix-locate database"; Timer = { OnCalendar = "daily"; Persistent = true; Unit = "nix-index.service";}; + Install.WantedBy = [ "timers.target" ]; }; }; } From e102a548bac504edad3abddcc17861e888806bd7 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 1 Jun 2022 16:19:47 +0200 Subject: [PATCH 56/80] Better bspwm focus commands --- home_manager/modules/sxhkd.nix | 2 +- home_manager/odin.nix | 1 + home_manager/thor.nix | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index 11c324c..b09b771 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -42,7 +42,7 @@ "super + {_,shift + } Return" = "{${primaryTerminal} , ${secondaryTerminal}}"; "super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} 'focused:^{1-9,10}'"; "super + {_,shift + }c" = "bspc node -f {next,prev}.local"; - "super + {h,j,k,l}" = "bspc node -f {west,south,north,east}"; + "super + {h,j,k,l}" = "dir={west,south,north,east}; bspc node -f $dir || bspc monitor -f $dir"; "super + shift + {h,j,k,l}" = ''dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow''; "super + {_,shift + }w" = "bspc node -{c,k}"; "super + {_,shift + }@space " = "rofi -show {drun,run}"; diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 641f6de..55215a3 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -30,6 +30,7 @@ gnome.file-roller gnome.geary gnome.gnome-calendar + gnome.gnome-font-viewer gnome.gnome-screenshot # gnome.gnome-sound-recorder gnome.gnome-sound-recorder diff --git a/home_manager/thor.nix b/home_manager/thor.nix index 9419519..c10ba0f 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -28,6 +28,7 @@ freecad gallery-dl gnome.file-roller + gnome.gnome-font-viewer gnome.geary gnome.gnome-calendar gnome.gnome-screenshot From 1f1ade154157ad07f97e8f8550ef5d3238d34e48 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 2 Jun 2022 14:16:07 +0200 Subject: [PATCH 57/80] Switch to onedark theme --- home_manager/modules/polybar.nix | 4 +- rice.nix | 37 ++++++++++--------- ...thomorrow-night.nix => tomorrow-night.nix} | 0 3 files changed, 22 insertions(+), 19 deletions(-) rename themes/{thomorrow-night.nix => tomorrow-night.nix} (100%) diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index 2ceb9e1..4670c00 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -29,8 +29,8 @@ let selected = { foreground = colorPalette.bright.white; - background = color.tAlphaRgba (v: 240) colorPalette.dark.blue; - underline = colorPalette.dark.white; + background = colorPalette.bright.black; + underline = colorPalette.normal.white; }; alert = colorPalette.bright.red; diff --git a/rice.nix b/rice.nix index a284b57..dc3c68d 100644 --- a/rice.nix +++ b/rice.nix @@ -7,33 +7,36 @@ let } ) {}; nord = with nix-rice; palette.tPalette color.hexToRgba (import ./themes/nord.nix); - # onedark = with nix-rice; palette.tPalette color.hexToRgba (import ./themes/onedark.nix); + onedark = with nix-rice; palette.tPalette color.hexToRgba (import ./themes/onedark.nix); + tomorrow-night = with nix-rice; palette.tPalette color.hexToRgba (import ./themes/tomorrow-night.nix); in ( rec { rice = nix-rice // { colorPalette = with nix-rice; rec { normal = { - black = nord.n1; - blue = nord.n10; - cyan = nord.n8; - green = nord.n14; - magenta = nord.n15; - red = nord.n11; - white = nord.n5; - yellow = nord.n13; + black = onedark.black; + blue = onedark.blue; + cyan = onedark.cyan; + green = onedark.green; + magenta = onedark.magenta; + red = onedark.darkRed; + white = onedark.white; + yellow = onedark.darkYellow; }; bright = palette.brighten 10 normal // { - blue = nord.n9; - black = nord.n2; - red = nord.n12; - white = nord.n6; + red = onedark.lightRed; + yellow = onedark.lightYellow; + # blue = nord.n9; + # black = nord.n2; + # red = nord.n12; + # white = nord.n6; }; dark = palette.darken 10 normal // { - black = nord.n0; - blue = nord.n3; - cyan = nord.n7; - white = nord.n4; + # black = nord.n0; + # blue = nord.n3; + # cyan = nord.n7; + # white = nord.n4; }; }; font = { diff --git a/themes/thomorrow-night.nix b/themes/tomorrow-night.nix similarity index 100% rename from themes/thomorrow-night.nix rename to themes/tomorrow-night.nix From bc28d964d308c53b26701c0aead63c4a9abee1b5 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 2 Jun 2022 15:17:58 +0200 Subject: [PATCH 58/80] Switch rofi to onedark theme --- configs/rofi/onedark.rasi | 100 ++++++++++++++++++++++++++++++++ home_manager/modules/rofi.nix | 3 +- themes/catppuccin-frappe.nix | 29 +++++++++ themes/catppuccin-latte.nix | 29 +++++++++ themes/catppuccin-macchiato.nix | 29 +++++++++ themes/catppuccin-mocha.nix | 30 ++++++++++ 6 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 configs/rofi/onedark.rasi create mode 100644 themes/catppuccin-frappe.nix create mode 100644 themes/catppuccin-latte.nix create mode 100644 themes/catppuccin-macchiato.nix create mode 100644 themes/catppuccin-mocha.nix diff --git a/configs/rofi/onedark.rasi b/configs/rofi/onedark.rasi new file mode 100644 index 0000000..f63f4fb --- /dev/null +++ b/configs/rofi/onedark.rasi @@ -0,0 +1,100 @@ +/* + * ROFI One Dark + * + * Based on OneDark.vim (https://github.com/joshdick/onedark.vim) + * + * Author: Benjamin Stauss + * User: me-benni + * + */ + + +* { + black: #000000; + red: #eb6e67; + green: #95ee8f; + yellow: #f8c456; + blue: #6eaafb; + mangenta: #d886f3; + cyan: #6cdcf7; + emphasis: #50536b; + text: #dfdfdf; + text-alt: #b2b2b2; + fg: #abb2bf; + bg: #282c34; + + spacing: 0; + background-color: transparent; + + font: "Knack Nerd Font 14"; + text-color: @text; +} + +window { + transparency: "real"; + fullscreen: true; + background-color: #282c34dd; +} + +mainbox { + padding: 30% 30%; +} + +inputbar { + margin: 0px 0px 20px 0px; + children: [prompt, textbox-prompt-colon, entry, case-indicator]; +} + +prompt { + text-color: @blue; +} + +textbox-prompt-colon { + expand: false; + str: ":"; + text-color: @text-alt; +} + +entry { + margin: 0px 10px; +} + +listview { + spacing: 5px; + dynamic: true; + scrollbar: false; +} + +element { + padding: 5px; + text-color: @text-alt; + highlight: bold #95ee8f; /* green */ + border-radius: 3px; +} + +element selected { + background-color: @emphasis; + text-color: @text; +} + +element urgent, element selected urgent { + text-color: @red; +} + +element active, element selected active { + text-color: @purple; +} + +message { + padding: 5px; + border-radius: 3px; + background-color: @emphasis; + border: 1px; + border-color: @cyan; +} + +button selected { + padding: 5px; + border-radius: 3px; + background-color: @emphasis; +} \ No newline at end of file diff --git a/home_manager/modules/rofi.nix b/home_manager/modules/rofi.nix index e0097fe..dc82311 100644 --- a/home_manager/modules/rofi.nix +++ b/home_manager/modules/rofi.nix @@ -18,7 +18,8 @@ modi: "drun,run,ssh,window"; } - @theme "nord" + @theme "onedark" ''; xdg.configFile."rofi/nord.rasi".source = ../../configs/rofi/nord.rasi; + xdg.configFile."rofi/onedark.rasi".source = ../../configs/rofi/onedark.rasi; } diff --git a/themes/catppuccin-frappe.nix b/themes/catppuccin-frappe.nix new file mode 100644 index 0000000..cdb7021 --- /dev/null +++ b/themes/catppuccin-frappe.nix @@ -0,0 +1,29 @@ +# Catppuccin Frappé theme (https://github.com/catppuccin/catppuccin) +{ + Rosewater = "#dc8a78"; # rgb(220, 138, 120) hsl(11, 59%, 67%) + Flamingo = "#dd7878"; # rgb(221, 120, 120) hsl(0, 60%, 67%) + Pink = "#ea76cb"; # rgb(234, 118, 203) hsl(316, 73%, 69%) + Mauve = "#8839ef"; # rgb(136, 57, 239) hsl(266, 85%, 58%) + Red = "#d20f39"; # rgb(210, 15, 57) hsl(347, 87%, 44%) + Maroon = "#e64553"; # rgb(230, 69, 83) hsl(355, 76%, 59%) + Peach = "#fe640b"; # rgb(254, 100, 11) hsl(22, 99%, 52%) + Yellow = "#df8e1d"; # rgb(223, 142, 29) hsl(35, 77%, 49%) + Green = "#40a02b"; # rgb(64, 160, 43) hsl(109, 58%, 40%) + Teal = "#179299"; # rgb(23, 146, 153) hsl(183, 74%, 35%) + Sky = "#04a5e5"; # rgb(4, 165, 229) hsl(197, 97%, 46%) + Sapphire = "#209fb5"; # rgb(32, 159, 181) hsl(189, 70%, 42%) + Blue = "#1e66f5"; # rgb(30, 102, 245) hsl(220, 91%, 54%) + Lavender = "#7287fd"; # rgb(114, 135, 253) hsl(231, 97%, 72%) + Text = "#4c4f69"; # rgb(76, 79, 105) hsl(234, 16%, 35%) + Subtext1 = "#5c5f77"; # rgb(92, 95, 119) hsl(233, 13%, 41%) + Subtext0 = "#6c6f85"; # rgb(108, 111, 133) hsl(233, 10%, 47%) + Overlay2 = "#7c7f93"; # rgb(124, 127, 147) hsl(232, 10%, 53%) + Overlay1 = "#8c8fa1"; # rgb(140, 143, 161) hsl(231, 10%, 59%) + Overlay0 = "#9ca0b0"; # rgb(156, 160, 176) hsl(228, 11%, 65%) + Surface2 = "#acb0be"; # rgb(172, 176, 190) hsl(227, 12%, 71%) + Surface1 = "#bcc0cc"; # rgb(188, 192, 204) hsl(225, 14%, 77%) + Surface0 = "#ccd0da"; # rgb(204, 208, 218) hsl(223, 16%, 83%) + Base = "#eff1f5"; # rgb(239, 241, 245) hsl(220, 23%, 95%) + Mantle = "#e6e9ef"; # rgb(230, 233, 239) hsl(220, 22%, 92%) + Crust = "#dce0e8"; # rgb(220, 224, 232) hsl(220, 21%, 89%) +} diff --git a/themes/catppuccin-latte.nix b/themes/catppuccin-latte.nix new file mode 100644 index 0000000..75e4f1b --- /dev/null +++ b/themes/catppuccin-latte.nix @@ -0,0 +1,29 @@ +# Catppuccin Latte theme (https://github.com/catppuccin/catppuccin) +{ + Rosewater = "#dc8a78"; # rgb(220, 138, 120) hsl(11, 59%, 67%) + Flamingo = "#dd7878"; # rgb(221, 120, 120) hsl(0, 60%, 67%) + Pink = "#ea76cb"; # rgb(234, 118, 203) hsl(316, 73%, 69%) + Mauve = "#8839ef"; # rgb(136, 57, 239) hsl(266, 85%, 58%) + Red = "#d20f39"; # rgb(210, 15, 57) hsl(347, 87%, 44%) + Maroon = "#e64553"; # rgb(230, 69, 83) hsl(355, 76%, 59%) + Peach = "#fe640b"; # rgb(254, 100, 11) hsl(22, 99%, 52%) + Yellow = "#df8e1d"; # rgb(223, 142, 29) hsl(35, 77%, 49%) + Green = "#40a02b"; # rgb(64, 160, 43) hsl(109, 58%, 40%) + Teal = "#179299"; # rgb(23, 146, 153) hsl(183, 74%, 35%) + Sky = "#04a5e5"; # rgb(4, 165, 229) hsl(197, 97%, 46%) + Sapphire = "#209fb5"; # rgb(32, 159, 181) hsl(189, 70%, 42%) + Blue = "#1e66f5"; # rgb(30, 102, 245) hsl(220, 91%, 54%) + Lavender = "#7287fd"; # rgb(114, 135, 253) hsl(231, 97%, 72%) + Text = "#4c4f69"; # rgb(76, 79, 105) hsl(234, 16%, 35%) + Subtext1 = "#5c5f77"; # rgb(92, 95, 119) hsl(233, 13%, 41%) + Subtext0 = "#6c6f85"; # rgb(108, 111, 133) hsl(233, 10%, 47%) + Overlay2 = "#7c7f93"; # rgb(124, 127, 147) hsl(232, 10%, 53%) + Overlay1 = "#8c8fa1"; # rgb(140, 143, 161) hsl(231, 10%, 59%) + Overlay0 = "#9ca0b0"; # rgb(156, 160, 176) hsl(228, 11%, 65%) + Surface2 = "#acb0be"; # rgb(172, 176, 190) hsl(227, 12%, 71%) + Surface1 = "#bcc0cc"; # rgb(188, 192, 204) hsl(225, 14%, 77%) + Surface0 = "#ccd0da"; # rgb(204, 208, 218) hsl(223, 16%, 83%) + Base = "#eff1f5"; # rgb(239, 241, 245) hsl(220, 23%, 95%) + Mantle = "#e6e9ef"; # rgb(230, 233, 239) hsl(220, 22%, 92%) + Crust = "#dce0e8"; # rgb(220, 224, 232) hsl(220, 21%, 89%) +} diff --git a/themes/catppuccin-macchiato.nix b/themes/catppuccin-macchiato.nix new file mode 100644 index 0000000..5b31d48 --- /dev/null +++ b/themes/catppuccin-macchiato.nix @@ -0,0 +1,29 @@ +# Catppuccin Macchiato theme (https://github.com/catppuccin/catppuccin) +{ + Rosewater = "#f4dbd6"; # rgb(244, 219, 214) hsl(10, 58%, 90%) + Flamingo = "#f0c6c6"; # rgb(240, 198, 198) hsl(0, 58%, 86%) + Pink = "#f5bde6"; # rgb(245, 189, 230) hsl(316, 74%, 85%) + Mauve = "#c6a0f6"; # rgb(198, 160, 246) hsl(267, 83%, 80%) + Red = "#ed8796"; # rgb(237, 135, 150) hsl(351, 74%, 73%) + Maroon = "#ee99a0"; # rgb(238, 153, 160) hsl(355, 71%, 77%) + Peach = "#f5a97f"; # rgb(245, 169, 127) hsl(21, 86%, 73%) + Yellow = "#eed49f"; # rgb(238, 212, 159) hsl(40, 70%, 78%) + Green = "#a6da95"; # rgb(166, 218, 149) hsl(105, 48%, 72%) + Teal = "#8bd5ca"; # rgb(139, 213, 202) hsl(171, 47%, 69%) + Sky = "#91d7e3"; # rgb(145, 215, 227) hsl(189, 59%, 73%) + Sapphire = "#7dc4e4"; # rgb(125, 196, 228) hsl(199, 66%, 69%) + Blue = "#8aadf4"; # rgb(138, 173, 244) hsl(220, 83%, 75%) + Lavender = "#b7bdf8"; # rgb(183, 189, 248) hsl(234, 82%, 85%) + Text = "#cad3f5"; # rgb(202, 211, 245) hsl(227, 68%, 88%) + Subtext1 = "#b8c0e0"; # rgb(184, 192, 224) hsl(228, 39%, 80%) + Subtext0 = "#a5adcb"; # rgb(165, 173, 203) hsl(227, 27%, 72%) + Overlay2 = "#939ab7"; # rgb(147, 154, 183) hsl(228, 20%, 65%) + Overlay1 = "#8087a2"; # rgb(128, 135, 162) hsl(228, 15%, 57%) + Overlay0 = "#6e738d"; # rgb(110, 115, 141) hsl(230, 12%, 49%) + Surface2 = "#5b6078"; # rgb(91, 96, 120) hsl(230, 14%, 41%) + Surface1 = "#494d64"; # rgb(73, 77, 100) hsl(231, 16%, 34%) + Surface0 = "#363a4f"; # rgb(54, 58, 79) hsl(230, 19%, 26%) + Base = "#24273a"; # rgb(36, 39, 58) hsl(232, 23%, 18%) + Mantle = "#1e2030"; # rgb(30, 32, 48) hsl(233, 23%, 15%) + Crust = "#181926"; # rgb(24, 25, 38) hsl(236, 23%, 12%) +} diff --git a/themes/catppuccin-mocha.nix b/themes/catppuccin-mocha.nix new file mode 100644 index 0000000..ce398ae --- /dev/null +++ b/themes/catppuccin-mocha.nix @@ -0,0 +1,30 @@ +# Catppuccin Mocha theme (https://github.com/catppuccin/catppuccin) +{ + Rosewater = "#f5e0dc"; # rgb(245, 224, 220) hsl(10, 56%, 91%) + Flamingo = "#f2cdcd"; # rgb(242, 205, 205) hsl(0, 59%, 88%) + Pink = "#f5c2e7"; # rgb(245, 194, 231) hsl(316, 72%, 86%) + Mauve = "#cba6f7"; # rgb(203, 166, 247) hsl(267, 84%, 81%) + Red = "#f38ba8"; # rgb(243, 139, 168) hsl(343, 81%, 75%) + Maroon = "#eba0ac"; # rgb(235, 160, 172) hsl(350, 65%, 77%) + Peach = "#fab387"; # rgb(250, 179, 135) hsl(23, 92%, 75%) + Yellow = "#f9e2af"; # rgb(249, 226, 175) hsl(41, 86%, 83%) + Green = "#a6e3a1"; # rgb(166, 227, 161) hsl(115, 54%, 76%) + Teal = "#94e2d5"; # rgb(148, 226, 213) hsl(170, 57%, 73%) + Sky = "#89dceb"; # rgb(137, 220, 235) hsl(189, 71%, 73%) + Sapphire = "#74c7ec"; # rgb(116, 199, 236) hsl(199, 76%, 69%) + Blue = "#89b4fa"; # rgb(137, 180, 250) hsl(217, 92%, 76%) + Lavender = "#b4befe"; # rgb(180, 190, 254) hsl(232, 97%, 85%) + Text = "#cdd6f4"; # rgb(205, 214, 244) hsl(226, 64%, 88%) + Subtext1 = "#bac2de"; # rgb(186, 194, 222) hsl(227, 35%, 80%) + Subtext0 = "#a6adc8"; # rgb(166, 173, 200) hsl(228, 24%, 72%) + Overlay2 = "#9399b2"; # rgb(147, 153, 178) hsl(228, 17%, 64%) + Overlay1 = "#7f849c"; # rgb(127, 132, 156) hsl(230, 13%, 55%) + Overlay0 = "#6c7086"; # rgb(108, 112, 134) hsl(231, 11%, 47%) + Surface2 = "#585b70"; # rgb(88, 91, 112) hsl(233, 12%, 39%) + Surface1 = "#45475a"; # rgb(69, 71, 90) hsl(234, 13%, 31%) + Surface0 = "#313244"; # rgb(49, 50, 68) hsl(237, 16%, 23%) + Base = "#1e1e2e"; # rgb(30, 30, 46) hsl(240, 21%, 15%) + Mantle = "#181825"; # rgb(24, 24, 37) hsl(240, 21%, 12%) + Crust = "#11111b"; # rgb(17, 17, 27) hsl(240, 23%, 9%) +} + From c9eeeb9dc49e5858b4dd6bcf908bfd9806c547a8 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Thu, 2 Jun 2022 20:16:20 +0200 Subject: [PATCH 59/80] Extreme cleaup + new nix rice + commit hooks --- .envrc | 2 + .gitignore | 1 + configs/kak/colors/nord.kak | 4 +- custom/cocktail-bar-cli/default.nix | 2 +- custom/default.nix | 7 +- custom/joystickwake/default.nix | 36 -------- custom/lockscreen/default.nix | 7 +- custom/update-background/default.nix | 7 +- flake.lock | 98 ++++++++++++++++++---- flake.nix | 70 ++++++++-------- freya.nix | 62 -------------- home.nix | 14 ---- home_manager/loki.nix | 4 +- home_manager/modules/alacritty.nix | 4 +- home_manager/modules/autorandr.nix | 1 - home_manager/modules/bottom.nix | 21 ++--- home_manager/modules/broot.nix | 10 +-- home_manager/modules/bspwm.nix | 2 +- home_manager/modules/dircolors.nix | 10 +-- home_manager/modules/dunst.nix | 9 +- home_manager/modules/fzf.nix | 8 +- home_manager/modules/git.nix | 9 +- home_manager/modules/gpg.nix | 20 ++--- home_manager/modules/grobi.nix | 1 - home_manager/modules/helix.nix | 2 +- home_manager/modules/java.nix | 4 +- home_manager/modules/joystickwake.nix | 2 +- home_manager/modules/kakoune.nix | 34 +------- home_manager/modules/keepassxc.nix | 2 +- home_manager/modules/kitty.nix | 4 +- home_manager/modules/latex.nix | 2 +- home_manager/modules/libinput-gestures.nix | 2 +- home_manager/modules/megasync.nix | 2 +- home_manager/modules/nix-index.nix | 2 +- home_manager/modules/office.nix | 15 ++-- home_manager/modules/picom.nix | 1 - home_manager/modules/polybar.nix | 7 +- home_manager/modules/pro_audio.nix | 5 +- home_manager/modules/rofi.nix | 8 +- home_manager/modules/shell_aliases.nix | 8 +- home_manager/modules/sxhkd.nix | 2 +- home_manager/modules/terminator.nix | 4 +- home_manager/modules/update_background.nix | 2 +- home_manager/modules/webapp.nix | 14 ++-- home_manager/modules/zathura.nix | 2 +- home_manager/modules/zoxide.nix | 5 +- home_manager/odin.nix | 2 +- home_manager/thor.nix | 2 +- loki/hardware-configuration.nix | 2 +- nixos_modules/big_data.nix | 54 ++++++------ nixos_modules/mind.nix | 2 +- nixos_modules/pentablet.nix | 2 +- nixos_modules/pro_audio.nix | 2 +- odin/configuration-nvidia.nix | 2 +- odin/hardware-configuration.nix | 41 +++++---- rice.nix | 30 +++---- themes/nord.nix | 20 ++--- thor/configuration.nix | 2 +- thor/hardware-configuration.nix | 20 +++-- 59 files changed, 319 insertions(+), 400 deletions(-) create mode 100644 .envrc delete mode 100644 custom/joystickwake/default.nix delete mode 100644 freya.nix delete mode 100644 home.nix diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..0d69151 --- /dev/null +++ b/.envrc @@ -0,0 +1,2 @@ +use flake +eval "$shellHook" diff --git a/.gitignore b/.gitignore index b2be92b..726d2d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ result +.direnv diff --git a/configs/kak/colors/nord.kak b/configs/kak/colors/nord.kak index bc009d0..cb97cd4 100644 --- a/configs/kak/colors/nord.kak +++ b/configs/kak/colors/nord.kak @@ -63,13 +63,13 @@ set-face global StatusLineMode rgb:5e81ac,rgb:3b4252 # face used for the current mode except the normal mode set-face global StatusLineInfo rgb:5e81ac,rgb:3b4252 - # face used for special information + # face used for special information set-face global StatusLineValue rgb:5e81ac,rgb:3b4252 # face used for special values (numeric prefixes, registers, etc.) set-face global StatusCursor rgb:2e3440,rgb:ebcb8b - # face used for the status line cursor + # face used for the status line cursor set-face global Prompt rgb:88c0d0,rgb:3b4252 # face used prompt displayed on the status line diff --git a/custom/cocktail-bar-cli/default.nix b/custom/cocktail-bar-cli/default.nix index 1aa5b11..a47aef3 100644 --- a/custom/cocktail-bar-cli/default.nix +++ b/custom/cocktail-bar-cli/default.nix @@ -1,4 +1,4 @@ -{ pkgs, stdenv, autoPatchelfHook, ... }: +{ stdenv, autoPatchelfHook, ... }: stdenv.mkDerivation rec { name = "cocktail-bar-cli"; version = "1.0"; diff --git a/custom/default.nix b/custom/default.nix index cb5f006..ce76210 100644 --- a/custom/default.nix +++ b/custom/default.nix @@ -4,10 +4,9 @@ let self = with pkgs; { - lockscreen = callPackage ./lockscreen {}; - update-background = callPackage ./update-background {}; - cocktail-bar-cli = callPackage ./cocktail-bar-cli {}; - # joystickwake = callPackage ./joystickwake {}; + lockscreen = callPackage ./lockscreen { }; + update-background = callPackage ./update-background { }; + cocktail-bar-cli = callPackage ./cocktail-bar-cli { }; }; in (self) diff --git a/custom/joystickwake/default.nix b/custom/joystickwake/default.nix deleted file mode 100644 index 514ce4a..0000000 --- a/custom/joystickwake/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, python3, fetchFromGitHub }: -python3.pkgs.buildPythonApplication rec { - pname = "joystickwake"; - version = "0.2.4"; - - src = fetchFromGitHub { - owner = "foresto"; - repo = pname; - rev = "v${version}"; - sha256 = "0j8xwfmzzmc9s88zvzc3lv67821r6x28vy6vli3srvx859wprppd"; - }; - - buildInputs = with python3.pkgs; [ - pyudev - xlib - ]; - - propagatedBuildInputs = with python3.pkgs; [ - pyudev - xlib - ]; - - doCheck = false; - - meta = with lib; { - description = "A joystick-aware screen waker"; - longDescription = '' - Linux gamers often find themselves unexpectedly staring at a blank screen, because their display server fails to recognize game controllers as input devices, allowing the screen blanker to activate during gameplay. - This program works around the problem by temporarily disabling screen blankers when joystick activity is detected. - ''; - homepage = "https://github.com/foresto/joystickwake"; - license = licenses.mit; - platforms = platforms.linux; - }; - -} diff --git a/custom/lockscreen/default.nix b/custom/lockscreen/default.nix index 66ec6fa..3b8e1da 100644 --- a/custom/lockscreen/default.nix +++ b/custom/lockscreen/default.nix @@ -1,15 +1,14 @@ { lib -, stdenv , rice , roboto , i3lock-color , writeScriptBin , font ? { package = roboto; name = "Roboto"; } -, palette ? rice.palette.palette {} +, palette ? rice.palette.palette { } , ... }: let - strPalette = rice.palette.toRGBAHex palette; + strPalette = lib.rice.palette.toRGBAHex palette; in writeScriptBin "lockscreen" '' #!/bin/sh @@ -53,4 +52,4 @@ writeScriptBin "lockscreen" '' --pass-screen-keys \ --pass-volume-keys \ --nofork - '' +'' diff --git a/custom/update-background/default.nix b/custom/update-background/default.nix index 8dd48e8..92d3c17 100644 --- a/custom/update-background/default.nix +++ b/custom/update-background/default.nix @@ -1,12 +1,11 @@ -{ lib -, stdenv -, feh +{ feh , glib , findutils , gnugrep , coreutils , writeScriptBin -, backgrounds_directory ? "$HOME/Immagini/Sfondi"}: +, backgrounds_directory ? "$HOME/Immagini/Sfondi" +}: let find = "${findutils}/bin/find"; grep = "${gnugrep}/bin/grep"; diff --git a/flake.lock b/flake.lock index b5ff140..1f2e336 100644 --- a/flake.lock +++ b/flake.lock @@ -56,6 +56,28 @@ "type": "github" } }, + "nix-rice": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks" + }, + "locked": { + "lastModified": 1654188574, + "narHash": "sha256-wl87aE0JGd2viY7io0FLS4nHKAa8f9MVZWXohUvEbDU=", + "owner": "bertof", + "repo": "nix-rice", + "rev": "0ce38b26d5fc9392cc2972f77e42549075a8e78d", + "type": "github" + }, + "original": { + "owner": "bertof", + "repo": "nix-rice", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1650522846, @@ -72,6 +94,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1653931853, + "narHash": "sha256-O3wncIouj9x7gBPntzHeK/Hkmm9M1SGlYq7JI7saTAE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f1c167688a6f81f4a51ab542e5f476c8c595e457", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1653979012, "narHash": "sha256-Md1OeSa4WwrtsjJKanOyrNfo9WbRCgURk23iRhUI2LU=", @@ -87,19 +125,32 @@ "type": "github" } }, - "root": { + "pre-commit-hooks": { "inputs": { - "flake-utils": "flake-utils", - "home-manager": "home-manager", - "home-manager-unstable": "home-manager-unstable", - "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay", - "tex2nix": "tex2nix", - "unstable": "unstable" + "flake-utils": [ + "nix-rice", + "flake-utils" + ], + "nixpkgs": [ + "nix-rice", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1652714503, + "narHash": "sha256-qQKVEfDe5FqvGgkZtg5Pc491foeiDPIOeycHMqnPDps=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "521a524771a8e93caddaa0ac1d67d03766a8b0b3", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" } }, - "rust-overlay": { + "pre-commit-hooks_2": { "inputs": { "flake-utils": [ "flake-utils" @@ -109,19 +160,32 @@ ] }, "locked": { - "lastModified": 1652496760, - "narHash": "sha256-AM1almW0FjiUegqfJc6n+OO3yXTCXUsH2IEI323vbJ0=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "f9ddceabd2ccd2bf3d08c83832f3709c94287144", + "lastModified": 1652714503, + "narHash": "sha256-qQKVEfDe5FqvGgkZtg5Pc491foeiDPIOeycHMqnPDps=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "521a524771a8e93caddaa0ac1d67d03766a8b0b3", "type": "github" }, "original": { - "owner": "oxalica", - "repo": "rust-overlay", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", "type": "github" } }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "home-manager": "home-manager", + "home-manager-unstable": "home-manager-unstable", + "nix-rice": "nix-rice", + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs_2", + "pre-commit-hooks": "pre-commit-hooks_2", + "tex2nix": "tex2nix", + "unstable": "unstable" + } + }, "tex2nix": { "inputs": { "flake-utils": [ diff --git a/flake.nix b/flake.nix index 86fdac8..bc19dad 100644 --- a/flake.nix +++ b/flake.nix @@ -2,36 +2,18 @@ description = "Thor system configuration"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/release-22.05"; - - home-manager = { - url = "github:nix-community/home-manager/release-22.05"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + home-manager = { url = "github:nix-community/home-manager/release-22.05"; inputs.nixpkgs.follows = "nixpkgs"; }; unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; - - home-manager-unstable = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "unstable"; - }; + home-manager-unstable = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "unstable"; }; flake-utils.url = "github:numtide/flake-utils"; - nixos-hardware.url = "github:NixOS/nixos-hardware"; - rust-overlay = { - url = "github:oxalica/rust-overlay"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; - }; - - tex2nix = { - url = github:Mic92/tex2nix; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; - }; + nix-rice = { url = "github:bertof/nix-rice"; inputs.inxpkgs.follows = "unstable"; inputs.flake-utils.follows = "flake-utils"; }; + pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; + tex2nix = { url = github:Mic92/tex2nix; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; }; outputs = @@ -42,24 +24,26 @@ , home-manager-unstable , flake-utils , nixos-hardware - , rust-overlay , tex2nix + , nix-rice + , pre-commit-hooks }: let system = "x86_64-linux"; - overlays = [ + overlaysBuilder = system: [ + (nix-rice.overlays.default) (import ./rice.nix) - (rust-overlay.overlay) - (final: prev: { inherit (tex2nix.packages.${system}) tex2nix; }) - (final: prev: { + (_: _: { inherit (tex2nix.packages.${system}) tex2nix; }) + (final: _: { update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; lockscreen = final.callPackage ./custom/lockscreen { palette = final.rice.colorPalette; font = final.rice.font.normal; }; }) - (final: prev: { stable = pkgs; }) - (final: prev: { unstable = unstablePkgs; }) + (_: _: { stable = pkgs; }) + (_: _: { unstable = unstablePkgs; }) ]; nixpkgsSettings = { - inherit overlays system; + inherit system; + overlays = overlaysBuilder system; config = { extraOptions = "experimental-features = nix-command flakes"; allowUnfree = true; @@ -156,7 +140,7 @@ nixosConfigurations = rec { thor = thor-unstable; - thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix]; + thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; # thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ./nixos_modules/sesar.nix ]; @@ -168,9 +152,25 @@ odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; loki = loki-unstable; - loki-stable = lokiStable []; + loki-stable = lokiStable [ ]; loki-unstable = lokiUnstable [ ]; - + }; - }; + } // (flake-utils.lib.eachDefaultSystem (system: + let unstablePkgs = import unstable { inherit system; overlays = overlaysBuilder system; }; + in + rec { + checks = { + pre-commit-check = pre-commit-hooks.lib.${system}.run { + src = ./.; + hooks = { nixpkgs-fmt.enable = true; nix-linter.enable = true; }; + }; + }; + + devShells.default = unstablePkgs.mkShell { + shellHook = '' + ${self.checks.${system}.pre-commit-check.shellHook} + ''; + }; + })); } diff --git a/freya.nix b/freya.nix deleted file mode 100644 index 0468e42..0000000 --- a/freya.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ pkgs, lib, ... }: -{ - nixpkgs.overlays = [ - (final: prev: { - devEnvironment = (import ./environment.nix) { - # enableCpp = true; - # enableData = true; - # enableGo = true; - # enableHtml = true; - # enableJavascript = true; - # enableJava = true; - # enableLatex = true; - # enableNix = true; - # enableOffice = true; - # enablePython = true; - # enableRust = true; - # enableShell = true; - # enableSpelling = true; - }; - }) - ]; - home = { - language.base = "it_IT.UTF-8"; - keyboard = { - layout = "it"; - options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ]; - }; - packages = with pkgs; [ - htop - neofetch - nix-prefetch-scripts - ripgrep - wget - ]; - }; - imports = [ - ./modules/configurations.nix - ./modules/fonts.nix - ./modules/bash.nix - ./modules/bat.nix - ./modules/bottom.nix - ./modules/broot.nix - ./modules/dircolors.nix - ./modules/direnv.nix - ./modules/git.nix - ./modules/gpg.nix - ./modules/info.nix - ./modules/jq.nix - ./modules/kakoune.nix - ./modules/keychain.nix - ./modules/lf.nix - ./modules/man.nix - ./modules/megasync.nix - ./modules/noti.nix - ./modules/ssh.nix - ./modules/starship.nix - ./modules/tmux.nix - ./modules/zoxide.nix - ./modules/zsh.nix - ./modules/shell_aliases.nix - ]; -} diff --git a/home.nix b/home.nix deleted file mode 100644 index dbb7757..0000000 --- a/home.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs, lib, ... }: -let - hostname = lib.fileContents /etc/hostname; - user = builtins.getEnv "USER"; - host_config = builtins.toPath "/home/${user}/.config/nixpkgs/${hostname}.nix"; -in -{ - nixpkgs.overlays = [ - (import ./rice.nix) - ]; - imports = [ host_config ]; - - programs.home-manager.enable = true; -} diff --git a/home_manager/loki.nix b/home_manager/loki.nix index c0b3618..336d7a9 100644 --- a/home_manager/loki.nix +++ b/home_manager/loki.nix @@ -1,7 +1,7 @@ -{ pkgs, lib, ... }: +{ pkgs, ... }: { nixpkgs.overlays = [ - (final: prev: { + (_: _: { devEnvironment = (import ./environment.nix) { # enableCpp = true; enableData = true; diff --git a/home_manager/modules/alacritty.nix b/home_manager/modules/alacritty.nix index 2f8b250..ff027e9 100644 --- a/home_manager/modules/alacritty.nix +++ b/home_manager/modules/alacritty.nix @@ -1,6 +1,6 @@ -{ pkgs, lib, ... }: +{ pkgs, ... }: let - strPalette = with pkgs.rice; palette.toRgbHex rec { + strPalette = with pkgs.rice; pkgs.lib.rice.palette.toRgbHex rec { inherit (colorPalette) normal bright; dim = colorPalette.dark; diff --git a/home_manager/modules/autorandr.nix b/home_manager/modules/autorandr.nix index 466a6ae..660946b 100644 --- a/home_manager/modules/autorandr.nix +++ b/home_manager/modules/autorandr.nix @@ -1,4 +1,3 @@ -{ pkgs, ... }: { programs.autorandr = { enable = true; diff --git a/home_manager/modules/bottom.nix b/home_manager/modules/bottom.nix index 8c556f3..d83d4c5 100644 --- a/home_manager/modules/bottom.nix +++ b/home_manager/modules/bottom.nix @@ -1,12 +1,13 @@ -{ pkgs, lib, ... }: +{ pkgs, ... }: let - tomlGenerate = (pkgs.formats.toml {}).generate "bottom-toml"; -in { - home.packages = with pkgs; [ bottom ]; - xdg.configFile."bottom/bottom.toml".source = tomlGenerate { - "flags" = { - "left_legend" = true; - "color" = "nord"; - }; - }; + tomlGenerate = (pkgs.formats.toml { }).generate "bottom-toml"; +in +{ + home.packages = with pkgs; [ bottom ]; + xdg.configFile."bottom/bottom.toml".source = tomlGenerate { + "flags" = { + "left_legend" = true; + "color" = "nord"; + }; + }; } diff --git a/home_manager/modules/broot.nix b/home_manager/modules/broot.nix index fed74a5..93b6086 100644 --- a/home_manager/modules/broot.nix +++ b/home_manager/modules/broot.nix @@ -1,7 +1,7 @@ { - programs.broot = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - }; + programs.broot = { + enable = true; + enableBashIntegration = true; + enableZshIntegration = true; + }; } diff --git a/home_manager/modules/bspwm.nix b/home_manager/modules/bspwm.nix index 7513e19..cb6467a 100644 --- a/home_manager/modules/bspwm.nix +++ b/home_manager/modules/bspwm.nix @@ -3,7 +3,7 @@ let monitorPages = [ "I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X" ]; monitorPagesString = lib.strings.concatStringsSep " " monitorPages; - strPalette = pkgs.rice.palette.toRGBHex pkgs.rice.colorPalette; + strPalette = pkgs.lib.rice.palette.toRGBHex pkgs.rice.colorPalette; xrandr = "${pkgs.xorg.xrandr}/bin/xrandr"; xsetroot = "${pkgs.xorg.xsetroot}/bin/xsetroot"; in diff --git a/home_manager/modules/dircolors.nix b/home_manager/modules/dircolors.nix index 8467404..6d231c1 100644 --- a/home_manager/modules/dircolors.nix +++ b/home_manager/modules/dircolors.nix @@ -1,7 +1,7 @@ { - programs.dircolors = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - }; + programs.dircolors = { + enable = true; + enableBashIntegration = true; + enableZshIntegration = true; + }; } diff --git a/home_manager/modules/dunst.nix b/home_manager/modules/dunst.nix index 23c8371..38ba672 100644 --- a/home_manager/modules/dunst.nix +++ b/home_manager/modules/dunst.nix @@ -1,9 +1,6 @@ { pkgs, ... }: let - rofi_dmenu = "${pkgs.rofi} -dmenu"; - firefox = "${pkgs.firefox}/bin/firefox"; - dmenu = "${pkgs.dmenu}/bin/dmenu"; - palette = pkgs.rice.palette.toRGBHex pkgs.rice.colorPalette; + palette = pkgs.lib.rice.palette.toRGBHex pkgs.rice.colorPalette; in { home.packages = with pkgs; [ dunst rice.font.normal.package ]; @@ -47,8 +44,8 @@ in max_icon_size = 32; sticky_history = "yes"; history_length = 20; - dmenu = "${dmenu} -p dunst:"; - browser = "${firefox} -new-tab"; + dmenu = "dmenu -p dunst:"; + browser = "google-chrome-stable"; always_run_script = "true"; title = "Dunst"; class = "Dunst"; diff --git a/home_manager/modules/fzf.nix b/home_manager/modules/fzf.nix index 53accd0..a421031 100644 --- a/home_manager/modules/fzf.nix +++ b/home_manager/modules/fzf.nix @@ -1,8 +1,8 @@ { programs.fzf = { - enable = true; - tmux.enableShellIntegration = true; - enableBashIntegration = true; - enableZshIntegration = true; + enable = true; + tmux.enableShellIntegration = true; + enableBashIntegration = true; + enableZshIntegration = true; }; } diff --git a/home_manager/modules/git.nix b/home_manager/modules/git.nix index a0cb5d7..117d328 100644 --- a/home_manager/modules/git.nix +++ b/home_manager/modules/git.nix @@ -1,7 +1,5 @@ -{ config, pkgs, lib, ... }: +{ pkgs, ... }: let - kak = "${pkgs.kakoune}/bin/kak"; - meld = "${pkgs.meld}/bin/meld"; shellAliases = { "g" = "git"; "ga" = "git add"; @@ -101,9 +99,9 @@ in commit.gpgSign = true; # core.editor = kak; credential.helper = "cache --timeout=3600 "; - diff.guitool = meld; + diff.guitool = "meld"; init.defaultBranch = "main"; - merge.guitool = meld; + merge.guitool = "meld"; pull.rebase = true; rebase.autoStash = true; user.signingKey = "berto.f@protonmail.com"; @@ -117,5 +115,6 @@ in gh git-secret glab + meld ]; } diff --git a/home_manager/modules/gpg.nix b/home_manager/modules/gpg.nix index 6ad7fee..2a09965 100644 --- a/home_manager/modules/gpg.nix +++ b/home_manager/modules/gpg.nix @@ -1,14 +1,12 @@ { - programs.gpg = { - enable = true; - settings = { + programs.gpg = { + enable = true; + settings = { }; + }; - }; - }; - - services.gpg-agent = { - enable = true; - defaultCacheTtl = 600; - # extraConfig = "allow-loopback-pinentry"; - }; + services.gpg-agent = { + enable = true; + defaultCacheTtl = 600; + # extraConfig = "allow-loopback-pinentry"; + }; } diff --git a/home_manager/modules/grobi.nix b/home_manager/modules/grobi.nix index 14d1121..48f77b3 100644 --- a/home_manager/modules/grobi.nix +++ b/home_manager/modules/grobi.nix @@ -1,4 +1,3 @@ -{ config, lib, pkgs, ... }: { services.grobi = { enable = true; diff --git a/home_manager/modules/helix.nix b/home_manager/modules/helix.nix index 114a934..6291346 100644 --- a/home_manager/modules/helix.nix +++ b/home_manager/modules/helix.nix @@ -23,10 +23,10 @@ editor.lsp.display-messages = true; editor.scrolloff = 5; editor.true-color = true; + editor.mouse = false; }; themes = let - strPalette = with pkgs.rice; palette.toRgbShortHex coloPalette; transparent = "none"; gray = "#665c54"; dark-gray = "#3c3836"; diff --git a/home_manager/modules/java.nix b/home_manager/modules/java.nix index 242399b..5910761 100644 --- a/home_manager/modules/java.nix +++ b/home_manager/modules/java.nix @@ -1,3 +1,3 @@ -{ pkgs, ...}: -{ programs.java.enable = true; +{ + programs.java.enable = true; } diff --git a/home_manager/modules/joystickwake.nix b/home_manager/modules/joystickwake.nix index 25f0aaf..5cc1113 100644 --- a/home_manager/modules/joystickwake.nix +++ b/home_manager/modules/joystickwake.nix @@ -1,4 +1,4 @@ -{ pkgs, config, ... }: +{ pkgs, ... }: let joystickwakeCmd = "${pkgs.joystickwake}/bin/joystickwake"; in diff --git a/home_manager/modules/kakoune.nix b/home_manager/modules/kakoune.nix index 746292b..12df5ab 100644 --- a/home_manager/modules/kakoune.nix +++ b/home_manager/modules/kakoune.nix @@ -1,6 +1,5 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: let - strPalette = with pkgs.rice; palette.toRgbShortHex colorPalette; themeBuilder = palette: with palette; '' set-face global value rgb:${normal.magenta},default set-face global type rgb:${bright.white},default @@ -132,36 +131,9 @@ in }; # THEME FILE - xdg.configFile."kak/colors/nord.kak".text = with strPalette; '' - set-face global value rgb:${normal.magenta},default - set-face global type rgb:${bright.white},default - set-face global identifier rgb:${normal.cyan},default - set-face global string rgb:${normal.green},default - set-face global error rgb:${normal.red},default - set-face global keyword rgb:${normal.blue},default - set-face global operator rgb:${normal.blue},default - set-face global attribute rgb:${bright.blue},default - set-face global comment rgb:${bright.blue},default - set-face global meta rgb:${normal.yellow},default - set-face global Default rgb:${normal.white},default - set-face global PrimarySelection rgb:${normal.black},rgb:${dark.yellow} - set-face global SecondarySelection rgb:${normal.black},rgb:${dark.white} - set-face global PrimaryCursor rgb:${normal.black},rgb:${normal.yellow} - set-face global SecondaryCursor rgb:${normal.black},rgb:${normal.white} - set-face global MenuForeground rgb:${normal.white},rgb:${bright.black} - set-face global MenuBackground default,rgb:${normal.black} - set-face global MenuInfo default,rgb:${normal.black} - set-face global Information rgb:${dark.black},rgb:${normal.cyan} - set-face global StatusLine rgb:${normal.white},rgb:${normal.black} - set-face global StatusLineMode rgb:${normal.blue},rgb:${normal.black} - set-face global StatusLineInfo rgb:${normal.blue},rgb:${normal.black} - set-face global StatusLineValue rgb:${normal.blue},rgb:${normal.black} - set-face global StatusCursor rgb:${dark.black},rgb:${normal.yellow} - set-face global Prompt rgb:${normal.cyan},rgb:${normal.black} - set-face global BufferPadding default,default - ''; + xdg.configFile."kak/colors/nord.kak".text = themeBuilder (pkgs.lib.rice.palette.toRgbShortHex pkgs.rice.colorPalette); - xdg.configFile."kak-lsp/kak-lsp.toml".text = with pkgs; '' + xdg.configFile."kak-lsp/kak-lsp.toml".text = '' snippet_support = false verbosity = 2 [server] diff --git a/home_manager/modules/keepassxc.nix b/home_manager/modules/keepassxc.nix index 7d2f75b..f1effce 100644 --- a/home_manager/modules/keepassxc.nix +++ b/home_manager/modules/keepassxc.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { config.systemd.user.services.keepassxc = { Unit = { diff --git a/home_manager/modules/kitty.nix b/home_manager/modules/kitty.nix index 82d806e..6bb7737 100644 --- a/home_manager/modules/kitty.nix +++ b/home_manager/modules/kitty.nix @@ -1,5 +1,5 @@ -{ pkgs, lib, ... }: -let strPalette = with pkgs.rice; palette.toRgbHex rec { +{ pkgs, ... }: +let strPalette = with pkgs.rice; pkgs.lib.rice.palette.toRgbHex rec { foreground = colorPalette.normal.white; background = colorPalette.normal.black; color0 = colorPalette.normal.black; diff --git a/home_manager/modules/latex.nix b/home_manager/modules/latex.nix index b4a0a7c..3c77f57 100644 --- a/home_manager/modules/latex.nix +++ b/home_manager/modules/latex.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ...}: +{ pkgs, ... }: { home.packages = with pkgs; [ tex2nix diff --git a/home_manager/modules/libinput-gestures.nix b/home_manager/modules/libinput-gestures.nix index 4a6f522..c578c63 100644 --- a/home_manager/modules/libinput-gestures.nix +++ b/home_manager/modules/libinput-gestures.nix @@ -1,4 +1,4 @@ -{ pkgs, config, ... }: +{ pkgs, ... }: let libinputGesturesCmd = "${pkgs.libinput-gestures}/bin/libinput-gestures"; xdotool = "${pkgs.xdotool}/bin/xdotool"; diff --git a/home_manager/modules/megasync.nix b/home_manager/modules/megasync.nix index 239e93a..363d9d9 100644 --- a/home_manager/modules/megasync.nix +++ b/home_manager/modules/megasync.nix @@ -1,4 +1,4 @@ -{ pkgs, config, ... }: +{ pkgs, ... }: let megasyncCmd = "${pkgs.megacmd}/bin/mega-cmd-server"; in diff --git a/home_manager/modules/nix-index.nix b/home_manager/modules/nix-index.nix index 54e2c67..975c5ac 100644 --- a/home_manager/modules/nix-index.nix +++ b/home_manager/modules/nix-index.nix @@ -20,7 +20,7 @@ timers."nix-index" = { Unit.Description = "Daily update the nix-locate database"; - Timer = { OnCalendar = "daily"; Persistent = true; Unit = "nix-index.service";}; + Timer = { OnCalendar = "daily"; Persistent = true; Unit = "nix-index.service"; }; Install.WantedBy = [ "timers.target" ]; }; }; diff --git a/home_manager/modules/office.nix b/home_manager/modules/office.nix index 3e7ef12..10cf015 100644 --- a/home_manager/modules/office.nix +++ b/home_manager/modules/office.nix @@ -1,11 +1,10 @@ -{pkgs, lib,...}: -with pkgs; +{ pkgs, ... }: { - home.packages = [ - # libreoffice-fresh - onlyoffice-bin - hunspellDicts.en_GB-large - hunspellDicts.en_US-large - hunspellDicts.it_IT + home.packages = with pkgs; [ + # libreoffice-fresh + onlyoffice-bin + hunspellDicts.en_GB-large + hunspellDicts.en_US-large + hunspellDicts.it_IT ]; } diff --git a/home_manager/modules/picom.nix b/home_manager/modules/picom.nix index 2e613ce..89f6265 100644 --- a/home_manager/modules/picom.nix +++ b/home_manager/modules/picom.nix @@ -1,4 +1,3 @@ -{ pkgs, ... }: { services.picom = { enable = true; diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index 4670c00..50ade43 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -1,5 +1,6 @@ -{ config, lib, pkgs, ... }: +{ config, pkgs, ... }: let + inherit (pkgs.rice) colorPalette; grep = "${pkgs.gnugrep}/bin/grep"; cut = "${pkgs.coreutils}/bin/cut"; head = "${pkgs.coreutils}/bin/head"; @@ -8,8 +9,6 @@ let pkill = "${pkgs.procps}/bin/pkill"; playerCtl = "${pkgs.playerctl}/bin/playerctl"; playerStatus = "${playerCtl} -f '{{emoji(status)}} {{title}} - {{artist}}' metadata | ${head} -c 60"; - alacritty = "${pkgs.alacritty}/bin/alacritty"; - btm = "${pkgs.bottom}/bin/btm"; systemctl = "${pkgs.systemd}/bin/systemctl"; loginctl = "${pkgs.systemd}/bin/loginctl"; shutdown = "${pkgs.systemd}/bin/shutdown"; @@ -17,7 +16,7 @@ let session=`${loginctl} session-status | ${pkgs.coreutils}/bin/head -n 1 | ${pkgs.gawk}/bin/awk '{print $1}'` ${loginctl} terminate-session $session ''; - colors = with pkgs.rice; palette.toARGBHex rec { + colors = with pkgs.lib.rice; palette.toARGBHex rec { normal = { foreground = colorPalette.normal.white; diff --git a/home_manager/modules/pro_audio.nix b/home_manager/modules/pro_audio.nix index c40523c..b561e2b 100644 --- a/home_manager/modules/pro_audio.nix +++ b/home_manager/modules/pro_audio.nix @@ -14,7 +14,8 @@ in carla rnnoise ardour - unstable.zrythm unstable.breeze-icons + unstable.zrythm + unstable.breeze-icons mixxx # Plugins @@ -24,7 +25,7 @@ in unstable.cardinal geonkick helm - (lsp-plugins.overrideAttrs (old: { version = "1.2.0"; })) + lsp-plugins # noise-repellent samplv1 # speech-denoiser diff --git a/home_manager/modules/rofi.nix b/home_manager/modules/rofi.nix index dc82311..e59f498 100644 --- a/home_manager/modules/rofi.nix +++ b/home_manager/modules/rofi.nix @@ -12,10 +12,10 @@ xdg.configFile."rofi/config.rasi".text = '' configuration { font: "${pkgs.rice.font.monospace.name} 12"; - location: 0; - yoffset: 0; - xoffset: 0; - modi: "drun,run,ssh,window"; + location: 0; + yoffset: 0; + xoffset: 0; + modi: "drun,run,ssh,window"; } @theme "onedark" diff --git a/home_manager/modules/shell_aliases.nix b/home_manager/modules/shell_aliases.nix index 1f992bb..f98f430 100644 --- a/home_manager/modules/shell_aliases.nix +++ b/home_manager/modules/shell_aliases.nix @@ -1,6 +1,5 @@ -{ pkgs, ... }: -let - shellAliases = { +{ + home.shellAliases = { "dkc" = "docker-compose"; "dk" = "docker"; "hm" = "home-manager"; @@ -13,9 +12,6 @@ let "sc" = "sudo systemctl"; "scu" = "systemctl --user"; }; -in -{ - home = { inherit shellAliases; }; # programs.bash = { inherit shellAliases; }; # programs.zsh = { inherit shellAliases; }; } diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index b09b771..12bab42 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: +{ pkgs, ... }: { imports = [ ./thunar.nix ]; home.packages = with pkgs; [ diff --git a/home_manager/modules/terminator.nix b/home_manager/modules/terminator.nix index b9bbb6c..eb73588 100644 --- a/home_manager/modules/terminator.nix +++ b/home_manager/modules/terminator.nix @@ -1,7 +1,7 @@ { pkgs, ... }: let - strPalette = with pkgs.rice; palette.toRgbHex rec { - inherit (colorPalette) normal bright dark; + strPalette = pkgs.lib.rice.palette.toRgbHex rec { + inherit (pkgs.rice.colorPalette) normal bright dark; background = normal.black; foreground = normal.white; }; diff --git a/home_manager/modules/update_background.nix b/home_manager/modules/update_background.nix index bf7a80f..5a8a556 100644 --- a/home_manager/modules/update_background.nix +++ b/home_manager/modules/update_background.nix @@ -1,4 +1,4 @@ -{ pkgs, config, ... }: +{ pkgs, ... }: let update_time = "10m"; in diff --git a/home_manager/modules/webapp.nix b/home_manager/modules/webapp.nix index b576563..5d083cf 100644 --- a/home_manager/modules/webapp.nix +++ b/home_manager/modules/webapp.nix @@ -3,13 +3,13 @@ let cmd = link: "google-chrome-stable --app=${link}"; links = [ - { desktopName = "Google Calendar"; link = "https://google.com/calendar"; categories = [ "Office" ]; } - { desktopName = "Google Keep"; link = "https://keep.google.com"; categories = [ "Office" ]; } - { desktopName = "Monkeytype"; link = "https://monkeytype.com/"; } - { desktopName = "Netflix"; link = "https://www.netflix.com"; categories = [ "AudioVideo" ]; } - { desktopName = "Notion"; link = "https://notion.so"; categories = [ "Office" ]; } - { desktopName = "Prime Video"; link = "https://primevideo.com"; categories = [ "AudioVideo" ]; } - { desktopName = "Protonmail"; link = "https://mail.protonmail.com"; categories = [ "Office" ]; } + { desktopName = "Google Calendar"; link = "https://google.com/calendar"; categories = [ "Office" ]; } + { desktopName = "Google Keep"; link = "https://keep.google.com"; categories = [ "Office" ]; } + { desktopName = "Monkeytype"; link = "https://monkeytype.com/"; } + { desktopName = "Netflix"; link = "https://www.netflix.com"; categories = [ "AudioVideo" ]; } + { desktopName = "Notion"; link = "https://notion.so"; categories = [ "Office" ]; } + { desktopName = "Prime Video"; link = "https://primevideo.com"; categories = [ "AudioVideo" ]; } + { desktopName = "Protonmail"; link = "https://mail.protonmail.com"; categories = [ "Office" ]; } { desktopName = "Twitch"; link = "https://www.twitch.tv"; categories = [ "AudioVideo" ]; } { desktopName = "WhatsApp"; link = "https://web.whatsapp.com/"; } { desktopName = "YouTube"; link = "https://www.youtube.com"; categories = [ "AudioVideo" ]; } diff --git a/home_manager/modules/zathura.nix b/home_manager/modules/zathura.nix index 94c67c4..e41559b 100644 --- a/home_manager/modules/zathura.nix +++ b/home_manager/modules/zathura.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - strPalette = with pkgs.rice; palette.toRgbHex colorPalette; + strPalette = pkgs.lib.rice.palette.toRgbHex pkgs.rice.colorPalette; in { programs.zathura = { diff --git a/home_manager/modules/zoxide.nix b/home_manager/modules/zoxide.nix index 560e415..111c8bf 100644 --- a/home_manager/modules/zoxide.nix +++ b/home_manager/modules/zoxide.nix @@ -1,7 +1,4 @@ -{ pkgs, ... }: -let - zoxideCmd = "zoxide"; -in { +{ programs.zoxide = { enable = true; enableBashIntegration = true; diff --git a/home_manager/odin.nix b/home_manager/odin.nix index 55215a3..32af8c4 100644 --- a/home_manager/odin.nix +++ b/home_manager/odin.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: +{ pkgs, ... }: { home = { language.base = "it_IT.UTF-8"; diff --git a/home_manager/thor.nix b/home_manager/thor.nix index c10ba0f..1d2e48c 100644 --- a/home_manager/thor.nix +++ b/home_manager/thor.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: +{ pkgs, ... }: { home = { language.base = "it_IT.UTF-8"; diff --git a/loki/hardware-configuration.nix b/loki/hardware-configuration.nix index b96a203..a114627 100644 --- a/loki/hardware-configuration.nix +++ b/loki/hardware-configuration.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ modulesPath, ... }: { imports = [ diff --git a/nixos_modules/big_data.nix b/nixos_modules/big_data.nix index 9c88a2b..5e38d21 100644 --- a/nixos_modules/big_data.nix +++ b/nixos_modules/big_data.nix @@ -1,22 +1,22 @@ { config, lib, pkgs, modulesPath, ... }: let - setup_scirpt = '' - sudo mkdir -p /hdfs - sudo chown -R hdfs:hadoop /hdfs + # setup_script = '' + # sudo mkdir -p /hdfs + # sudo chown -R hdfs:hadoop /hdfs - for p in {nn,dn,jn,rm,nm,jhs,HTTP}; do - sudo kadmin.local -q "ank -randkey $p/my.engine"; - sudo kadmin.local -q "xst -k /etc/hadoop.keytab $p/my.engine"; - sudo kadmin.local -q "ktrem -k /etc/hadoop.keytab $p/my.engine old" - done - sudo chown hdfs:hadoop /etc/hadoop.keytab + # for p in {nn,dn,jn,rm,nm,jhs,HTTP}; do + # sudo kadmin.local -q "ank -randkey $p/my.engine"; + # sudo kadmin.local -q "xst -k /etc/hadoop.keytab $p/my.engine"; + # sudo kadmin.local -q "ktrem -k /etc/hadoop.keytab $p/my.engine old" + # done + # sudo chown hdfs:hadoop /etc/hadoop.keytab - sudo kadmin.local -q "ank -randkey spark/my.engine"; - sudo kadmin.local -q "xst -k /etc/spark.keytab spark/my.engine"; - sudo kadmin.local -q "ktrem -k /etc/spark.keytab spark/my.engine old" - sudo chown spark:spark /etc/spark.keytab - ''; + # sudo kadmin.local -q "ank -randkey spark/my.engine"; + # sudo kadmin.local -q "xst -k /etc/spark.keytab spark/my.engine"; + # sudo kadmin.local -q "ktrem -k /etc/spark.keytab spark/my.engine old" + # sudo chown spark:spark /etc/spark.keytab + # ''; hadoop_keytab_path = "/etc/hadoop.keytab"; spark_keytab_path = "/etc/spark.keytab"; pysparkPackageSelector = p: with p; [ numpy pyspark ]; @@ -63,17 +63,17 @@ let STOP cat > $out/spark-defaults.conf <<- STOP - spark.eventLog.enabled true - spark.eventLog.dir hdfs://localhost:/logs/spark - spark.history.fs.logDirectory hdfs://localhost:/logs/spark - # spark.yarn.keytab ${spark_keytab_path} - # spark.yarn.principal spark/my.engine@MY.ENGINE - spark.history.ui.acls.enable true - spark.history.kerberos.enabled true - spark.history.kerberos.keytab ${spark_keytab_path} - spark.history.kerberos.principal spark/my.engine@MY.ENGINE - spark.yarn.appMasterEnv.PYSPARK_PYTHON ${pysparkEnv.outPath}/bin/${pysparkEnv.executable} - spark.yarn.appMasterEnv.PYTHONPATH ${pysparkEnv.outPath}/lib/${pysparkEnv.executable}/site-packages + spark.eventLog.enabled true + spark.eventLog.dir hdfs://localhost:/logs/spark + spark.history.fs.logDirectory hdfs://localhost:/logs/spark + # spark.yarn.keytab ${spark_keytab_path} + # spark.yarn.principal spark/my.engine@MY.ENGINE + spark.history.ui.acls.enable true + spark.history.kerberos.enabled true + spark.history.kerberos.keytab ${spark_keytab_path} + spark.history.kerberos.principal spark/my.engine@MY.ENGINE + spark.yarn.appMasterEnv.PYSPARK_PYTHON ${pysparkEnv.outPath}/bin/${pysparkEnv.executable} + spark.yarn.appMasterEnv.PYTHONPATH ${pysparkEnv.outPath}/lib/${pysparkEnv.executable}/site-packages spark.executorEnv.PYSPARK_PYTHON ${pysparkEnv.outPath}/bin/${pysparkEnv.executable} STOP ''; @@ -198,9 +198,9 @@ in httpfsSite = { "kerberos.realm" = "MY.ENGINE"; "httpfs.authentication.type" = "kerberos"; - "httpfs.authentication.kerberos.principal " = "HTTP/my.engine@MY.ENGINE"; + "httpfs.authentication.kerberos.principal " = "HTTP/my.engine@MY.ENGINE"; "httpfs.authentication.kerberos.keytab" = hadoop_keytab_path; - "httpfs.hadoop.kerberos.principal " = "HTTP/my.engine@MY.ENGINE"; + "httpfs.hadoop.kerberos.principal " = "HTTP/my.engine@MY.ENGINE"; "httpfs.hadoop.kerberos.keytab" = hadoop_keytab_path; }; extraConfDirs = [ ]; diff --git a/nixos_modules/mind.nix b/nixos_modules/mind.nix index dda7a42..c167458 100644 --- a/nixos_modules/mind.nix +++ b/nixos_modules/mind.nix @@ -8,7 +8,7 @@ { name = "bertof"; ensurePermissions = { - "DATABASE \"mfh\"" = "ALL PRIVILEGES"; + "DATABASE \"mfh\"" = "ALL PRIVILEGES"; }; } ]; diff --git a/nixos_modules/pentablet.nix b/nixos_modules/pentablet.nix index 98e2995..a39911a 100644 --- a/nixos_modules/pentablet.nix +++ b/nixos_modules/pentablet.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, modulesPath, ...}: +{ pkgs, ... }: { # udev rules services.udev.extraRules = '' diff --git a/nixos_modules/pro_audio.nix b/nixos_modules/pro_audio.nix index fd2f706..d0e0259 100644 --- a/nixos_modules/pro_audio.nix +++ b/nixos_modules/pro_audio.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: { +{ boot = { # kernelModules = [ "snd-seq" "snd-rawmidi" ]; # kernel.sysctl = { "vm.swappiness" = 10; "fs.inotify.max_user_watches" = 524288; }; diff --git a/odin/configuration-nvidia.nix b/odin/configuration-nvidia.nix index 0408c8c..e442b7c 100644 --- a/odin/configuration-nvidia.nix +++ b/odin/configuration-nvidia.nix @@ -2,7 +2,7 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, ... }: +{ config, ... }: { boot.initrd.kernelModules = [ "i915" ]; diff --git a/odin/hardware-configuration.nix b/odin/hardware-configuration.nix index ac9276d..9dac5dd 100644 --- a/odin/hardware-configuration.nix +++ b/odin/hardware-configuration.nix @@ -1,11 +1,12 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ config, lib, modulesPath, ... }: { imports = - [ (modulesPath + "/installer/scan/not-detected.nix") + [ + (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "sd_mod" ]; @@ -14,73 +15,83 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + { + device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; fsType = "btrfs"; options = [ "subvol=@root" "x-gvfs-hide" ]; }; fileSystems."/nix" = - { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + { + device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; fsType = "btrfs"; options = [ "subvol=@nix" "x-gvfs-hide" ]; }; 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"; options = [ "subvol=@bertof" "x-gvfs-hide" ]; }; 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"; options = [ "subvol=@bertof_games" "x-gvfs-hide" ]; }; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/82DB-3444"; + { + device = "/dev/disk/by-uuid/82DB-3444"; fsType = "vfat"; }; fileSystems."/home/bertof/Musica" = - { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + { + device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; fsType = "btrfs"; options = [ "subvol=@bertof_music" "x-gvfs-hide" ]; }; fileSystems."/home/bertof/Video" = - { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + { + device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; fsType = "btrfs"; options = [ "subvol=@bertof_videos" "x-gvfs-hide" ]; }; fileSystems."/home/bertof/Immagini" = - { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + { + device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; fsType = "btrfs"; options = [ "subvol=@bertof_images" "x-gvfs-hide" ]; }; fileSystems."/home/bertof/Scaricati" = - { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + { + device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; fsType = "btrfs"; options = [ "subvol=@bertof_downloads" "x-gvfs-hide" ]; }; fileSystems."/home/bertof/Documenti" = - { device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; + { + device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c"; fsType = "btrfs"; options = [ "subvol=@bertof_documents" "x-gvfs-hide" ]; }; 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"; options = [ "subvol=@bertof_git" "x-gvfs-hide" ]; }; swapDevices = - [ { device = "/dev/disk/by-uuid/5f3cf424-2bd8-4352-a778-1bb067cb5700"; } - ]; + [{ device = "/dev/disk/by-uuid/5f3cf424-2bd8-4352-a778-1bb067cb5700"; }]; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/rice.nix b/rice.nix index dc3c68d..484a483 100644 --- a/rice.nix +++ b/rice.nix @@ -1,19 +1,13 @@ final: prev: let - nix-rice = final.callPackage ( - fetchTarball { - url = "https://github.com/bertof/nix-rice/archive/refs/tags/v0.2.1.tar.gz"; - sha256 = "1is70gjf59sxccwhz1hl9hdxsd4z8vqsr2rdk3imnmxj9n3jf6j8"; - } - ) {}; - nord = with nix-rice; palette.tPalette color.hexToRgba (import ./themes/nord.nix); - onedark = with nix-rice; palette.tPalette color.hexToRgba (import ./themes/onedark.nix); - tomorrow-night = with nix-rice; palette.tPalette color.hexToRgba (import ./themes/tomorrow-night.nix); + # nord = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/nord.nix); + onedark = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/onedark.nix); + # tomorrow-night = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/tomorrow-night.nix); in ( rec { - rice = nix-rice // { - colorPalette = with nix-rice; rec { + rice = { + colorPalette = with prev.lib.rice; palette.defaultPalette // rec { normal = { black = onedark.black; blue = onedark.blue; @@ -32,12 +26,14 @@ in # red = nord.n12; # white = nord.n6; }; - dark = palette.darken 10 normal // { - # black = nord.n0; - # blue = nord.n3; - # cyan = nord.n7; - # white = nord.n4; - }; + dark = palette.darken 10 normal + # // { + # # black = nord.n0; + # # blue = nord.n3; + # # cyan = nord.n7; + # # white = nord.n4; + # } + ; }; font = { normal = { diff --git a/themes/nord.nix b/themes/nord.nix index b7292fd..673eac8 100644 --- a/themes/nord.nix +++ b/themes/nord.nix @@ -1,15 +1,15 @@ # Nord palette (https://www.nordtheme.com) { - n0 = "#2e3440"; - n1 = "#3b4252"; - n2 = "#434c5e"; - n3 = "#4c566a"; - n4 = "#d8dee9"; - n5 = "#e5e9f0"; - n6 = "#eceff4"; - n7 = "#8fbcbb"; - n8 = "#88c0d0"; - n9 = "#81a1c1"; + n0 = "#2e3440"; + n1 = "#3b4252"; + n2 = "#434c5e"; + n3 = "#4c566a"; + n4 = "#d8dee9"; + n5 = "#e5e9f0"; + n6 = "#eceff4"; + n7 = "#8fbcbb"; + n8 = "#88c0d0"; + n9 = "#81a1c1"; n10 = "#5e81ac"; n11 = "#bf616a"; n12 = "#d08770"; diff --git a/thor/configuration.nix b/thor/configuration.nix index ef466db..4b4d95f 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: +{ config, pkgs, ... }: { boot = { binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; diff --git a/thor/hardware-configuration.nix b/thor/hardware-configuration.nix index ea39319..09029cb 100644 --- a/thor/hardware-configuration.nix +++ b/thor/hardware-configuration.nix @@ -1,11 +1,12 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ modulesPath, ... }: { imports = - [ (modulesPath + "/installer/scan/not-detected.nix") + [ + (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; @@ -14,30 +15,33 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126"; + { + 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" = - { device = "/dev/disk/by-uuid/B9D2-255C"; + { + device = "/dev/disk/by-uuid/B9D2-255C"; fsType = "vfat"; }; 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"; options = [ "subvol=@home_bertof" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ]; }; fileSystems."/nix" = - { device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126"; + { + device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126"; fsType = "btrfs"; options = [ "subvol=@nix" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ]; }; swapDevices = - [ { device = "/dev/disk/by-uuid/dee188e4-4ff8-417c-9419-b7f00ecb9989"; } - ]; + [{ device = "/dev/disk/by-uuid/dee188e4-4ff8-417c-9419-b7f00ecb9989"; }]; } From e9ff3833dafeda614dbb6dab611be232fe709df9 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 3 Jun 2022 12:57:49 +0200 Subject: [PATCH 60/80] Add bibtool --- home_manager/modules/latex.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home_manager/modules/latex.nix b/home_manager/modules/latex.nix index 3c77f57..96e61ef 100644 --- a/home_manager/modules/latex.nix +++ b/home_manager/modules/latex.nix @@ -1,6 +1,7 @@ { pkgs, ... }: { home.packages = with pkgs; [ + bibtool tex2nix texlab texlive.combined.scheme-medium From c25a5759ca74150ab098b776664e3d8921a8602b Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 3 Jun 2022 17:49:24 +0200 Subject: [PATCH 61/80] Fix loki configuration --- flake.nix | 4 ++-- home_manager/modules/helix.nix | 1 + loki/configuration.nix | 4 +++- loki/hardware-configuration.nix | 22 +++++++++++++++++----- 4 files changed, 23 insertions(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index bc19dad..e0527fb 100644 --- a/flake.nix +++ b/flake.nix @@ -151,7 +151,7 @@ odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; - loki = loki-unstable; + loki = loki-stable; loki-stable = lokiStable [ ]; loki-unstable = lokiUnstable [ ]; @@ -169,7 +169,7 @@ devShells.default = unstablePkgs.mkShell { shellHook = '' - ${self.checks.${system}.pre-commit-check.shellHook} + ${self.checks.${system}.pre-commit-check.shellHook} ''; }; })); diff --git a/home_manager/modules/helix.nix b/home_manager/modules/helix.nix index 6291346..7f63097 100644 --- a/home_manager/modules/helix.nix +++ b/home_manager/modules/helix.nix @@ -17,6 +17,7 @@ ]; programs.helix = { enable = true; + package = pkgs.unstable.helix; languages = [ ]; settings = { theme = "monokai_pro_octagon"; diff --git a/loki/configuration.nix b/loki/configuration.nix index 259f0ef..83615b5 100644 --- a/loki/configuration.nix +++ b/loki/configuration.nix @@ -21,6 +21,8 @@ }; hardware = { + enableRedistributableFirmware = true; + nvidia.package = config.boot.kernelPackages.nvidiaPackages.legacy_470; nvidia.prime = { offload.enable = false; @@ -78,7 +80,7 @@ gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; }; jackett = { enable = true; openFirewall = true; group = "users"; }; logind.lidSwitch = "ignore"; - node-red = { enable = true; openFirewall = true; withNpmAndGcc = true; }; + node-red = { enable = false; openFirewall = true; withNpmAndGcc = true; }; openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; }; plex = { enable = true; openFirewall = true; group = "users"; }; power-profiles-daemon.enable = true; diff --git a/loki/hardware-configuration.nix b/loki/hardware-configuration.nix index a114627..048107e 100644 --- a/loki/hardware-configuration.nix +++ b/loki/hardware-configuration.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ modulesPath, ... }: +{ config, lib, modulesPath, ... }: { imports = [ @@ -23,16 +23,28 @@ fsType = "vfat"; }; - fileSystems."/mnt/raid" = { - device = "/dev/sdc"; + fileSystems."/mnt/raid1" = { + device = "/dev/disk/by-uuid/c84a38dc-9cc7-4762-b509-8fce1c1d95c8"; fsType = "btrfs"; }; - fileSystems."/mnt/raid1" = { - device = "/dev/sde1"; + fileSystems."/mnt/raid" = { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; fsType = "btrfs"; }; swapDevices = [ ]; + # 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 + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.docker0.useDHCP = lib.mkDefault true; + networking.interfaces.eno1.useDHCP = lib.mkDefault true; + # networking.interfaces.vboxnet0.useDHCP = lib.mkDefault true; + networking.interfaces.wlp7s0.useDHCP = lib.mkDefault true; + # networking.interfaces.ztmjfdwjkp.useDHCP = lib.mkDefault true; + + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } From 812bc57aaa33f0b7ecbfb29158dcb8c0dce61f96 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sun, 5 Jun 2022 10:40:12 +0200 Subject: [PATCH 62/80] Update Loki config --- flake.lock | 36 +++++++++++++++++------------------ loki/configuration.nix | 4 ++-- odin/common_configuration.nix | 2 ++ odin/configuration-intel.nix | 2 -- odin/configuration-nvidia.nix | 2 -- 5 files changed, 22 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 1f2e336..2766bd8 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "flake-utils": { "locked": { - "lastModified": 1652372896, - "narHash": "sha256-lURGussfF3mGrFPQT3zgW7+RC0pBhbHzco0C7I+ilow=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "0d347c56f6f41de822a4f4c7ff5072f3382db121", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -22,11 +22,11 @@ ] }, "locked": { - "lastModified": 1653937612, - "narHash": "sha256-HybwffYKOM3UwlY54ZVCZgX7o5xpp2KhbZyyOnvwFMo=", + "lastModified": 1654113405, + "narHash": "sha256-VpK+0QaWG2JRgB00lw77N9TjkE3ec0iMYIX1TzGpxa4=", "owner": "nix-community", "repo": "home-manager", - "rev": "bda2c80b4c1a8d85c84c343a25ac7303fbc7999d", + "rev": "ac2287df5a2d6f0a44bbcbd11701dbbf6ec43675", "type": "github" }, "original": { @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1652452043, - "narHash": "sha256-nh3mdVB/Kk5ag1uRMAlKo8r+ssN3HNxwbLsqRG4xZkw=", + "lastModified": 1654113406, + "narHash": "sha256-70esZvhal+FsyU89mJRcAb+cDGHKt0sgZ6MlRr9Cplg=", "owner": "nix-community", "repo": "home-manager", - "rev": "273598f53e04f0111dca5724b37640e3907edaaf", + "rev": "684e85d01d333be91c4875baebb05b93c7d2ffaa", "type": "github" }, "original": { @@ -80,11 +80,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1650522846, - "narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=", + "lastModified": 1654057797, + "narHash": "sha256-mXo7C4v7Jj2feBzcReu1Eu/3Rnw5b023E9kOyFsHZQw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "6b4ebea9093c997c5f275c820e679108de4871ab", + "rev": "0cab18a48de7914ef8cad35dca0bb36868f3e1af", "type": "github" }, "original": { @@ -111,11 +111,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1653979012, - "narHash": "sha256-Md1OeSa4WwrtsjJKanOyrNfo9WbRCgURk23iRhUI2LU=", + "lastModified": 1654252671, + "narHash": "sha256-R5kyXCUC8wy4tsCbXppfyvk/q0CgiHtq7zbvR7SXoZ4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9b5e34626fbb7c251bf2c994f0b4334ab21df631", + "rev": "d06103277d3982e86d7eea927706376b42085c61", "type": "github" }, "original": { @@ -211,11 +211,11 @@ }, "unstable": { "locked": { - "lastModified": 1652378906, - "narHash": "sha256-DeV2myAMArPvyqxp0M6z30kuXb2L9SO2QXjxbbsZQyY=", + "lastModified": 1654019511, + "narHash": "sha256-s3fcwUxa2rV2ZmSbdOtisNmXqeqnF9IFrvhPQL5GCBU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d89d7af1ba23bd8a5341d00bdd862e8e9a808f56", + "rev": "692517bf851f2d8d999f0ad50f53fa1d2dd5c8f9", "type": "github" }, "original": { diff --git a/loki/configuration.nix b/loki/configuration.nix index 83615b5..708460c 100644 --- a/loki/configuration.nix +++ b/loki/configuration.nix @@ -80,7 +80,7 @@ gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; }; jackett = { enable = true; openFirewall = true; group = "users"; }; logind.lidSwitch = "ignore"; - node-red = { enable = false; openFirewall = true; withNpmAndGcc = true; }; + node-red = { enable = true; openFirewall = true; withNpmAndGcc = true; }; openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; }; plex = { enable = true; openFirewall = true; group = "users"; }; power-profiles-daemon.enable = true; @@ -263,7 +263,7 @@ kvmgt.enable = true; libvirtd.enable = true; podman.enable = true; - virtualbox.host.enable = true; + # virtualbox.host.enable = true; oci-containers.containers = { hass = { diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index e19bf6a..5ca529d 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -9,6 +9,8 @@ # # Cross-build arm boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; + + hardware.enableRedistributableFirmware = true; # Use same ACPI identifier as Dell Ubuntu boot.kernelParams = [ diff --git a/odin/configuration-intel.nix b/odin/configuration-intel.nix index 9504ec0..0f11acf 100644 --- a/odin/configuration-intel.nix +++ b/odin/configuration-intel.nix @@ -7,8 +7,6 @@ { boot.initrd.kernelModules = [ "i915" ]; - hardware.cpu.intel.updateMicrocode = config.hardware.enableRedistributableFirmware; - hardware.opengl.enable = true; hardware.opengl.extraPackages = with pkgs; [ intel-media-driver diff --git a/odin/configuration-nvidia.nix b/odin/configuration-nvidia.nix index e442b7c..6e34b1f 100644 --- a/odin/configuration-nvidia.nix +++ b/odin/configuration-nvidia.nix @@ -7,8 +7,6 @@ { boot.initrd.kernelModules = [ "i915" ]; - hardware.cpu.intel.updateMicrocode = config.hardware.enableRedistributableFirmware; - services.xserver = { videoDrivers = [ "nvidia" ]; displayManager.sddm = { From 601cd4d4291ff87c014adfd693f3cbb11561ec99 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sun, 5 Jun 2022 10:44:46 +0200 Subject: [PATCH 63/80] All helix to loki --- home_manager/loki.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home_manager/loki.nix b/home_manager/loki.nix index 336d7a9..806235d 100644 --- a/home_manager/loki.nix +++ b/home_manager/loki.nix @@ -47,6 +47,7 @@ ./modules/direnv.nix ./modules/git.nix ./modules/gpg.nix + ./modules/helix.nix ./modules/info.nix ./modules/jq.nix ./modules/kakoune.nix From 26a4a16638583b7d3781d3d051547770d9185819 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sun, 5 Jun 2022 17:27:17 +0200 Subject: [PATCH 64/80] Update rice --- flake.lock | 24 +++++++++---------- home_manager/modules/kitty.nix | 1 + home_manager/modules/polybar.nix | 21 ++++++++++------ home_manager/modules/sxhkd.nix | 2 +- rice.nix | 41 +++++++++++++------------------- themes/monokai-pro-machine.nix | 22 +++++++++++++++++ 6 files changed, 66 insertions(+), 45 deletions(-) create mode 100644 themes/monokai-pro-machine.nix diff --git a/flake.lock b/flake.lock index 2766bd8..3f46c8b 100644 --- a/flake.lock +++ b/flake.lock @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1654113406, - "narHash": "sha256-70esZvhal+FsyU89mJRcAb+cDGHKt0sgZ6MlRr9Cplg=", + "lastModified": 1654422613, + "narHash": "sha256-ZxkMM13AnrMwYOV99ohzcqeTkAOqD9Q2SBdZ9WoFE9Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "684e85d01d333be91c4875baebb05b93c7d2ffaa", + "rev": "20703892473d01c70fb10248442231fe94f4ceb4", "type": "github" }, "original": { @@ -65,11 +65,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1654188574, - "narHash": "sha256-wl87aE0JGd2viY7io0FLS4nHKAa8f9MVZWXohUvEbDU=", + "lastModified": 1654440289, + "narHash": "sha256-Mgm0eUNDb9td3aVImg7jYq/0W0XWPJo1g6K4ONgr31U=", "owner": "bertof", "repo": "nix-rice", - "rev": "0ce38b26d5fc9392cc2972f77e42549075a8e78d", + "rev": "9faf7bdc8935577f48eb80d4625a01a024e82489", "type": "github" }, "original": { @@ -111,11 +111,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1654252671, - "narHash": "sha256-R5kyXCUC8wy4tsCbXppfyvk/q0CgiHtq7zbvR7SXoZ4=", + "lastModified": 1654435734, + "narHash": "sha256-5heW64p01GTp3vhOlTKVsZSRlQlqM37cCYcVByfg0WA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d06103277d3982e86d7eea927706376b42085c61", + "rev": "e56f11391a431fa1063cd8ae9784c2efd4516619", "type": "github" }, "original": { @@ -211,11 +211,11 @@ }, "unstable": { "locked": { - "lastModified": 1654019511, - "narHash": "sha256-s3fcwUxa2rV2ZmSbdOtisNmXqeqnF9IFrvhPQL5GCBU=", + "lastModified": 1654230545, + "narHash": "sha256-8Vlwf0x8ow6pPOK2a04bT+pxIeRnM1+O0Xv9/CuDzRs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "692517bf851f2d8d999f0ad50f53fa1d2dd5c8f9", + "rev": "236cc2971ac72acd90f0ae3a797f9f83098b17ec", "type": "github" }, "original": { diff --git a/home_manager/modules/kitty.nix b/home_manager/modules/kitty.nix index 6bb7737..e0fa498 100644 --- a/home_manager/modules/kitty.nix +++ b/home_manager/modules/kitty.nix @@ -23,6 +23,7 @@ in { programs.kitty = { enable = true; + package = pkgs.unstable.kitty; settings = { scrollback_lines = 10000; enable_audio_bell = false; diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index 50ade43..b6c5f23 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -1,6 +1,6 @@ { config, pkgs, ... }: let - inherit (pkgs.rice) colorPalette; + inherit (pkgs.rice) colorPalette opacity; grep = "${pkgs.gnugrep}/bin/grep"; cut = "${pkgs.coreutils}/bin/cut"; head = "${pkgs.coreutils}/bin/head"; @@ -16,20 +16,27 @@ let session=`${loginctl} session-status | ${pkgs.coreutils}/bin/head -n 1 | ${pkgs.gawk}/bin/awk '{print $1}'` ${loginctl} terminate-session $session ''; - colors = with pkgs.lib.rice; palette.toARGBHex rec { + colors = with pkgs.lib.rice; let + alpha = 255 * opacity; + in + palette.toARGBHex rec { normal = { foreground = colorPalette.normal.white; - background = colorPalette.normal.black; - underline = colorPalette.normal.blue; + background = color.setAlphaRgba alpha (colorPalette.normal.black); + underline = colorPalette.dark.blue; }; - active = palette.brighten "50%" normal; + active = { + foreground = colorPalette.bright.white; + background = color.setAlphaRgba alpha (colorPalette.normal.black); + underline = colorPalette.bright.blue; + }; selected = { foreground = colorPalette.bright.white; - background = colorPalette.bright.black; - underline = colorPalette.normal.white; + background = color.setAlphaRgba alpha (color.brighten 10 colorPalette.bright.black); + underline = builtins.trace colorPalette.bright.red colorPalette.bright.red; }; alert = colorPalette.bright.red; diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index 12bab42..6b65d6b 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -2,7 +2,7 @@ { imports = [ ./thunar.nix ]; home.packages = with pkgs; [ - kitty + unstable.kitty lockscreen pamixer playerctl diff --git a/rice.nix b/rice.nix index 484a483..69bdbc8 100644 --- a/rice.nix +++ b/rice.nix @@ -1,39 +1,30 @@ final: prev: let # nord = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/nord.nix); - onedark = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/onedark.nix); + # onedark = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/onedark.nix); # tomorrow-night = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/tomorrow-night.nix); + mkpm = with prev.lib.rice; palette.tPalette color.hexToRgba (import ./themes/monokai-pro-machine.nix); in ( rec { rice = { - colorPalette = with prev.lib.rice; palette.defaultPalette // rec { - normal = { - black = onedark.black; - blue = onedark.blue; - cyan = onedark.cyan; - green = onedark.green; - magenta = onedark.magenta; - red = onedark.darkRed; - white = onedark.white; - yellow = onedark.darkYellow; + colorPalette = with prev.lib.rice; rec { + normal = palette.defaultPalette // { + black = mkpm.base2; + blue = mkpm.blue; + green = mkpm.green; + red = mkpm.red; + white = mkpm.base7; + yellow = mkpm.yellow; }; bright = palette.brighten 10 normal // { - red = onedark.lightRed; - yellow = onedark.lightYellow; - # blue = nord.n9; - # black = nord.n2; - # red = nord.n12; - # white = nord.n6; + red = mkpm.orange; + black = mkpm.base3; + white = mkpm.base8; + }; + dark = palette.darken 10 normal // { + black = mkpm.base0; }; - dark = palette.darken 10 normal - # // { - # # black = nord.n0; - # # blue = nord.n3; - # # cyan = nord.n7; - # # white = nord.n4; - # } - ; }; font = { normal = { diff --git a/themes/monokai-pro-machine.nix b/themes/monokai-pro-machine.nix new file mode 100644 index 0000000..9e267dc --- /dev/null +++ b/themes/monokai-pro-machine.nix @@ -0,0 +1,22 @@ +# Monokai Pro Machine palette (https://github.com/helix-editor/helix/blob/9be810fd01f495c795ab5e5b7240a32708d19f5c/runtime/themes/monokai_pro_machine.toml) +{ + # primary colors + red = "#ff6d7e"; + orange = "#ffb270"; + yellow = "#ffed72"; + green = "#a2e57b"; + blue = "#7cd5f1"; + purple = "#baa0f8"; + # base colors + base0 = "#161b1e"; + base1 = "#1d2528"; + base2 = "#273136"; + base3 = "#3a4449"; + base4 = "#545f62"; + base5 = "#6b7678"; + base6 = "#798384"; + base7 = "#b8c4c3"; + base8 = "#f2fffc"; + # variants + base8x0c = "#303a3e"; +} From ebfd68fc791f662b63587a0d5535a043804a948b Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sun, 5 Jun 2022 19:32:56 +0200 Subject: [PATCH 65/80] Better colors --- home_manager/modules/polybar.nix | 7 ++----- rice.nix | 3 +-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index b6c5f23..5a0934a 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -36,7 +36,7 @@ let selected = { foreground = colorPalette.bright.white; background = color.setAlphaRgba alpha (color.brighten 10 colorPalette.bright.black); - underline = builtins.trace colorPalette.bright.red colorPalette.bright.red; + underline = colorPalette.bright.red; }; alert = colorPalette.bright.red; @@ -60,10 +60,7 @@ let foreground = colors.normal.foreground; line-size = 2; line-color = colors.normal.underline; - padding = { - left = 0; - right = 0; - }; + padding = { left = 0; right = 0; }; module.margin = { left = 0; right = 0; }; separator = " "; border = { diff --git a/rice.nix b/rice.nix index 69bdbc8..6b24cca 100644 --- a/rice.nix +++ b/rice.nix @@ -14,13 +14,12 @@ in blue = mkpm.blue; green = mkpm.green; red = mkpm.red; - white = mkpm.base7; + white = mkpm.base8; yellow = mkpm.yellow; }; bright = palette.brighten 10 normal // { red = mkpm.orange; black = mkpm.base3; - white = mkpm.base8; }; dark = palette.darken 10 normal // { black = mkpm.base0; From fb1a88a34e4a08905123fcc864430b9cd91c5f28 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 6 Jun 2022 15:44:59 +0200 Subject: [PATCH 66/80] Switch back on mouse on helix --- home_manager/modules/helix.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home_manager/modules/helix.nix b/home_manager/modules/helix.nix index 7f63097..46577b1 100644 --- a/home_manager/modules/helix.nix +++ b/home_manager/modules/helix.nix @@ -24,7 +24,6 @@ editor.lsp.display-messages = true; editor.scrolloff = 5; editor.true-color = true; - editor.mouse = false; }; themes = let From 4102182077462b8c0dab459f9d04257ad8d9538e Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 8 Jun 2022 22:34:23 +0200 Subject: [PATCH 67/80] Add jellyfin --- loki/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/loki/configuration.nix b/loki/configuration.nix index 708460c..f492c6a 100644 --- a/loki/configuration.nix +++ b/loki/configuration.nix @@ -79,6 +79,7 @@ gnome.gnome-keyring.enable = true; gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; }; jackett = { enable = true; openFirewall = true; group = "users"; }; + jellyfin = { enable = true; openFirewall = true; group = "users"; }; logind.lidSwitch = "ignore"; node-red = { enable = true; openFirewall = true; withNpmAndGcc = true; }; openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; }; From 028c663aa896c582855db34b50f7a753855dbf21 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 8 Jun 2022 23:16:23 +0200 Subject: [PATCH 68/80] Give Jellyfin access to video --- loki/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/loki/configuration.nix b/loki/configuration.nix index f492c6a..4d3ce97 100644 --- a/loki/configuration.nix +++ b/loki/configuration.nix @@ -185,6 +185,7 @@ isNormalUser = true; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMExwtJFk6HjySrTZwJH67SOHC3hlL28NO4oe2GXsv6k" ]; }; + jellyfin.extraGroups = [ "video" ]; }; # services.snapper = { From 30ed635927467d605c38b65e1dddc556e6209084 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Fri, 10 Jun 2022 10:05:20 +0200 Subject: [PATCH 69/80] Better volume shortcuts --- flake.nix | 3 ++- home_manager/modules/sxhkd.nix | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index e0527fb..a49e68a 100644 --- a/flake.nix +++ b/flake.nix @@ -144,8 +144,9 @@ thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; # thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ./nixos_modules/sesar.nix ]; - odin = odin-intel-unstable; + odin = odin-stable; odin-stable = odin-intel-stable; + odin-unstable = odin-intel-unstable; odin-intel-unstable = odinUnstable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; odin-nvidia-unstable = odinUnstable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; diff --git a/home_manager/modules/sxhkd.nix b/home_manager/modules/sxhkd.nix index 6b65d6b..36402be 100644 --- a/home_manager/modules/sxhkd.nix +++ b/home_manager/modules/sxhkd.nix @@ -49,7 +49,7 @@ "alt + Tab" = "rofi -show window"; "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"; - "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "pamixer {-d 2,-t,-i 2} && dunstify -r 1 Volume `pamixer --get-volume-human`"; + "{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "pamixer {-d 2 -u,-t,-i 2 -u} && dunstify -r 1 Volume `pamixer --get-volume-human`"; "XF86Audio{Next,Play,Prev}" = "playerctl {next,play-pause,previous}"; "super + alt + {Right,Down,Left}" = "playerctl {next,play-pause,previous}"; "XF86MonBrightness{Up,Down}" = "xbacklight {+,-}10%"; From cb88eef2a2ea237abf3bbc5c9a38e9f33266d20d Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sat, 11 Jun 2022 23:07:37 +0200 Subject: [PATCH 70/80] Zoneminder --- loki/configuration.nix | 52 ++++++++++++++--------- loki/hardware-configuration.nix | 75 ++++++++++++++++++++++++--------- odin/common_configuration.nix | 4 +- thor/configuration.nix | 2 +- 4 files changed, 90 insertions(+), 43 deletions(-) diff --git a/loki/configuration.nix b/loki/configuration.nix index 4d3ce97..e79e04c 100644 --- a/loki/configuration.nix +++ b/loki/configuration.nix @@ -3,7 +3,7 @@ { boot = { binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - kernelPackages = pkgs.linuxPackages_5_17; + kernelPackages = pkgs.linuxPackages_5_18; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -24,12 +24,13 @@ enableRedistributableFirmware = true; nvidia.package = config.boot.kernelPackages.nvidiaPackages.legacy_470; - nvidia.prime = { - offload.enable = false; - sync.enable = true; - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; + nvidia.nvidiaPersistenced = true; + # nvidia.prime = { + # offload.enable = false; + # sync.enable = true; + # intelBusId = "PCI:0:2:0"; + # nvidiaBusId = "PCI:1:0:0"; + # }; opengl = { enable = true; @@ -109,19 +110,19 @@ }; in { bertof = common // { - path = "/mnt/raid/bertof"; + path = "/mnt/raid0/bertof"; comment = "Bertof samba share"; "force user" = "bertof"; "valid users" = "bertof"; }; tiziano = common // { - path = "/mnt/raid/tiziano"; + path = "/mnt/raid0/tiziano"; comment = "Tiziano samba share"; "force user" = "tiziano"; "valid users" = "tiziano"; }; condiviso = common // { - path = "/mnt/raid/condiviso"; + path = "/mnt/raid0/condiviso"; comment = "Samba share condiviso"; "valid users" = "bertof tiziano"; "create mask" = "0770"; @@ -160,18 +161,31 @@ openFirewall = true; group = "users"; settings = { - download-dir = "/mnt/raid/condiviso/Scaricati/Torrent"; - incomplete-dir = "/mnt/raid/condiviso/Scaricati/Torrent/.incomplete"; + download-dir = "/mnt/raid0/condiviso/Scaricati/Torrent"; + incomplete-dir = "/mnt/raid0/condiviso/Scaricati/Torrent/.incomplete"; }; }; xserver = { - enable = true; + # enable = true; videoDrivers = [ "nvidia" ]; - layout = "it"; - xkbOptions = "eurosign:e;"; - libinput.enable = true; + # layout = "it"; + # xkbOptions = "eurosign:e;"; + # libinput.enable = true; }; zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; + + zoneminder = { + enable = true; + openFirewall = true; + cameras = 3; + hostname = "0.0.0.0"; + database = { username = "zoneminder"; createLocally = true; }; + }; + + mysql = { + # enable = true; + ensureUsers = [{ name = "bertof"; ensurePermissions = { "*.*" = "ALL PRIVILEGES"; }; }]; + }; }; users.users = { @@ -233,11 +247,11 @@ { syncthing-bertof = common // { description = "Syncthing service bertof"; - serviceConfig = { User = "bertof"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -home=/mnt/raid/bertof/Syncthing/.config"; }; + serviceConfig = { User = "bertof"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -home=/mnt/raid0/bertof/Syncthing/.config"; }; }; syncthing-tiziano = common // { description = "Syncthing service tiziano"; - serviceConfig = { User = "tiziano"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8385 -home=/mnt/raid/tiziano/Syncthing/.config"; }; + serviceConfig = { User = "tiziano"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8385 -home=/mnt/raid0/tiziano/Syncthing/.config"; }; }; }; @@ -277,7 +291,7 @@ ports = [ "8123:8123" ]; volumes = [ "/var/lib/hass:/config" - "/mnt/raid/condiviso:/media" + "/mnt/raid0/condiviso:/media" ]; }; }; diff --git a/loki/hardware-configuration.nix b/loki/hardware-configuration.nix index 048107e..272c517 100644 --- a/loki/hardware-configuration.nix +++ b/loki/hardware-configuration.nix @@ -4,34 +4,68 @@ { config, lib, modulesPath, ... }: { - 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.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = { - device = "/dev/disk/by-uuid/eb51e914-c9ab-400d-bd2a-004a3b788caa"; - fsType = "btrfs"; - }; + fileSystems."/" = + { + device = "/dev/disk/by-uuid/eb51e914-c9ab-400d-bd2a-004a3b788caa"; + fsType = "btrfs"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/8A71-E5EB"; - fsType = "vfat"; - }; + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/8A71-E5EB"; + fsType = "vfat"; + }; - fileSystems."/mnt/raid1" = { - device = "/dev/disk/by-uuid/c84a38dc-9cc7-4762-b509-8fce1c1d95c8"; - fsType = "btrfs"; - }; + fileSystems."/mnt/raid1" = + { + device = "/dev/disk/by-uuid/c84a38dc-9cc7-4762-b509-8fce1c1d95c8"; + fsType = "btrfs"; + }; - fileSystems."/mnt/raid" = { - device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; - fsType = "btrfs"; - }; + fileSystems."/var/lib/docker/btrfs" = + { + device = "/var/lib/docker/btrfs"; + fsType = "none"; + options = [ "bind" ]; + }; + + fileSystems."/mnt/raid0/bertof" = + { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; + fsType = "btrfs"; + options = [ "subvol=@bertof" ]; + }; + + fileSystems."/mnt/raid0/tiziano" = + { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; + fsType = "btrfs"; + options = [ "subvol=@tiziano" ]; + }; + + fileSystems."/mnt/raid0/condiviso" = + { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; + fsType = "btrfs"; + options = [ "subvol=@condiviso" ]; + }; + + fileSystems."/mnt/zoneminder" = + { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; + fsType = "btrfs"; + options = [ "subvol=@zoneminder" ]; + }; swapDevices = [ ]; @@ -39,10 +73,9 @@ # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; + networking.useDHCP = lib.mkDefault false; # networking.interfaces.docker0.useDHCP = lib.mkDefault true; networking.interfaces.eno1.useDHCP = lib.mkDefault true; - # networking.interfaces.vboxnet0.useDHCP = lib.mkDefault true; networking.interfaces.wlp7s0.useDHCP = lib.mkDefault true; # networking.interfaces.ztmjfdwjkp.useDHCP = lib.mkDefault true; diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index 5ca529d..7e9ddd8 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -4,12 +4,12 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.initrd.checkJournalingFS = true; - boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_17; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_18; boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; # # Cross-build arm boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - + hardware.enableRedistributableFirmware = true; # Use same ACPI identifier as Dell Ubuntu diff --git a/thor/configuration.nix b/thor/configuration.nix index 4b4d95f..f454d36 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -2,7 +2,7 @@ { boot = { binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - kernelPackages = pkgs.linuxPackages_5_17; + kernelPackages = pkgs.linuxPackages_5_18; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; loader = { systemd-boot.enable = true; From 47e99ede4f0ca3f5e3ea5e9a6f75bd4d27937478 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 14 Jun 2022 10:39:54 +0200 Subject: [PATCH 71/80] Snapper on Loki --- loki/configuration.nix | 47 +++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/loki/configuration.nix b/loki/configuration.nix index e79e04c..d6b2146 100644 --- a/loki/configuration.nix +++ b/loki/configuration.nix @@ -202,20 +202,39 @@ jellyfin.extraGroups = [ "video" ]; }; - # services.snapper = { - # configs = - # let - # bertofExtraConfig = '' - # ALLOW_USERS="bertof" - # TIMELINE_CREATE=yes - # TIMELINE_CLEANUP=yes - # ''; - # common = { extraConfig = bertofExtraConfig; }; - # in - # { - # bertof_home = common // { subvolume = "/home/bertof"; }; - # }; - # }; + services.snapper = { + configs = + let + commonExtraConfig = '' + ALLOW_USERS="bertof" + TIMELINE_CREATE=yes + TIMELINE_CLEANUP=yes + ''; + in + { + bertof_raid0 = { + subvolume = "/mnt/raid0/bertof"; + extraConfig = '' + ALLOW_USERS="bertof" + ${commonExtraConfig} + ''; + }; + tiziano_raid0 = { + subvolume = "/mnt/raid0/tiziano"; + extraConfig = '' + ALLOW_USERS="tiziano" + ${commonExtraConfig} + ''; + }; + condiviso_raid0 = { + subvolume = "/mnt/raid0/condiviso"; + extraConfig = '' + ALLOW_USERS="bertof tiziano" + ${commonExtraConfig} + ''; + }; + }; + }; systemd.packages = with pkgs; [ syncthing ]; From f7e4fcf6377866ee28956b22486a96d86aeb9fa4 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Wed, 15 Jun 2022 09:20:58 +0200 Subject: [PATCH 72/80] Odin and polybar update --- flake.lock | 87 ++++++++++++++++++++++++++++---- home_manager/modules/office.nix | 1 + home_manager/modules/polybar.nix | 81 +++++++++-------------------- odin/common_configuration.nix | 3 +- 4 files changed, 104 insertions(+), 68 deletions(-) diff --git a/flake.lock b/flake.lock index 3f46c8b..c8fd0d7 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1653893745, @@ -38,16 +54,20 @@ }, "home-manager-unstable": { "inputs": { + "flake-compat": "flake-compat", "nixpkgs": [ "unstable" - ] + ], + "nmd": "nmd", + "nmt": "nmt", + "utils": "utils" }, "locked": { - "lastModified": 1654422613, - "narHash": "sha256-ZxkMM13AnrMwYOV99ohzcqeTkAOqD9Q2SBdZ9WoFE9Y=", + "lastModified": 1655143251, + "narHash": "sha256-hHcQRfLARkqGpV3lWTRZpYPTSW0oZhAUD3KOzcF8oZg=", "owner": "nix-community", "repo": "home-manager", - "rev": "20703892473d01c70fb10248442231fe94f4ceb4", + "rev": "cd3dd2188c19416bc70d9703f84e07a0646af5bf", "type": "github" }, "original": { @@ -111,11 +131,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1654435734, - "narHash": "sha256-5heW64p01GTp3vhOlTKVsZSRlQlqM37cCYcVByfg0WA=", + "lastModified": 1655168282, + "narHash": "sha256-lQcjVEUbwzsfJxrxpvrdFuWd+7hhl1yvQXwYScMF7Y0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e56f11391a431fa1063cd8ae9784c2efd4516619", + "rev": "0eb0b72a281fea2b384060470f1ec4c314e76dfc", "type": "github" }, "original": { @@ -125,6 +145,38 @@ "type": "github" } }, + "nmd": { + "flake": false, + "locked": { + "lastModified": 1653339422, + "narHash": "sha256-8nc7lcYOgih3YEmRMlBwZaLLJYpLPYKBlewqHqx8ieg=", + "owner": "rycee", + "repo": "nmd", + "rev": "9e7a20e6ee3f6751f699f79c0b299390f81f7bcd", + "type": "gitlab" + }, + "original": { + "owner": "rycee", + "repo": "nmd", + "type": "gitlab" + } + }, + "nmt": { + "flake": false, + "locked": { + "lastModified": 1648075362, + "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=", + "owner": "rycee", + "repo": "nmt", + "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae", + "type": "gitlab" + }, + "original": { + "owner": "rycee", + "repo": "nmt", + "type": "gitlab" + } + }, "pre-commit-hooks": { "inputs": { "flake-utils": [ @@ -211,11 +263,11 @@ }, "unstable": { "locked": { - "lastModified": 1654230545, - "narHash": "sha256-8Vlwf0x8ow6pPOK2a04bT+pxIeRnM1+O0Xv9/CuDzRs=", + "lastModified": 1655130522, + "narHash": "sha256-5dzlxE4okyu+M39yeVtHWQXzDZQxFF5rUB1iY9R6Lb4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "236cc2971ac72acd90f0ae3a797f9f83098b17ec", + "rev": "13f08d71ceff5101321e0291854495a1ec153a5e", "type": "github" }, "original": { @@ -224,6 +276,21 @@ "repo": "nixpkgs", "type": "github" } + }, + "utils": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } } }, "root": "root", diff --git a/home_manager/modules/office.nix b/home_manager/modules/office.nix index 10cf015..7813c0a 100644 --- a/home_manager/modules/office.nix +++ b/home_manager/modules/office.nix @@ -6,5 +6,6 @@ hunspellDicts.en_GB-large hunspellDicts.en_US-large hunspellDicts.it_IT + hunspell.bin ]; } diff --git a/home_manager/modules/polybar.nix b/home_manager/modules/polybar.nix index 5a0934a..8db545c 100644 --- a/home_manager/modules/polybar.nix +++ b/home_manager/modules/polybar.nix @@ -72,9 +72,9 @@ let }; font = [ "${pkgs.rice.font.monospace.name}:size=${toString pkgs.rice.font.monospace.size};2" - "Font Awesome 6 Free:size=14;0" - "Material Design Icons:size=${toString pkgs.rice.font.monospace.size};2" - "EmojiOne Color:size=${toString pkgs.rice.font.monospace.size};0" + # "Font Awesome 6 Free:size=14;0" + # "Material Design Icons:size=${toString pkgs.rice.font.monospace.size};2" + # "EmojiOne Color:size=${toString pkgs.rice.font.monospace.size};0" ]; wm-restack = "bspwm"; }; @@ -84,10 +84,10 @@ in { home.packages = with pkgs; [ pkgs.rice.font.monospace.package - emojione - noto-fonts-emoji - material-design-icons - font-awesome + # emojione + # noto-fonts-emoji + # material-design-icons + # font-awesome ]; services.polybar = { enable = true; @@ -188,8 +188,7 @@ in "module/cpu" = { type = "internal/cpu"; format = colors.normal // { - text = "󰍛