From 784777c6fc2aa65aea19a8dfd9bf158e6e3facac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lex=20Santiago?= Date: Fri, 21 Jun 2024 00:44:48 -0400 Subject: [PATCH] Remove nix-ld support --- primus.nix | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 primus.nix diff --git a/primus.nix b/primus.nix new file mode 100644 index 0000000..1de8a4c --- /dev/null +++ b/primus.nix @@ -0,0 +1,146 @@ +{ config, pkgs, inputs, ... }: + +{ + imports = + [ + ./hardware-configuration.nix + inputs.sops-nix.nixosModules.sops + ]; + + # Secrets + sops.defaultSopsFile = ./secrets/secrets.yaml; + sops.defaultSopsFormat = "yaml"; + sops.age.keyFile = "/home/alexuty/.config/sops/age/keys.txt"; + + # Bootloader (UEFI) + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.timeout = 1; + + # LUKS devices + boot.initrd.luks.devices."luks-1ec6d49d-7a0b-4ac9-aaea-e8efc1c75ac0".device = "/dev/disk/by-uuid/1ec6d49d-7a0b-4ac9-aaea-e8efc1c75ac0"; + + # Hostname + networking.hostName = "primus"; + + # WLAN + networking.networkmanager.enable = true; + + # Bluetooth + hardware.bluetooth.enable = true; + + programs.zsh.enable = true; + users.defaultUserShell = pkgs.zsh; + programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; + + # i18n + time.timeZone = "America/New_York"; + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + + # X11 + services.xserver.enable = true; + + # Plasma 6 + services.desktopManager.plasma6.enable = true; + + # Automatic login (to avoid entering a second pasword) + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = "alexuty"; + + # Keyboard settings (xkb) + services.xserver.xkb = { + layout = "es,us"; + options = "grp:win_space_toggle"; + }; + + # Keyboard settings (console) + console.keyMap = "es"; + + # Printing + services.printing.enable = true; + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + services.printing.drivers = [ + pkgs.hplipWithPlugin + pkgs.gutenprint + pkgs.gutenprintBin + ]; + + # Pipewire + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + # Touchpad support + services.libinput.enable = true; + + # Virtualization with virt-manager + virtualisation.libvirtd.enable = true; + programs.virt-manager.enable = true; + virtualisation.spiceUSBRedirection.enable = true; + + # User account. Set a password with ‘passwd’ + users.users.alexuty = { + isNormalUser = true; + description = "Álex Santiago"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; []; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # Enable nix command and flakes + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + programs.gnupg.agent.enable = true; + + # System packages + environment.systemPackages = with pkgs; [ syncthing ]; + + # OpenSSH daemon + services.openssh.enable = true; + + #Tailscale + services.tailscale.enable = true; + + # steam-run + programs.steam.enable = true; + # Android Containers + virtualisation.waydroid.enable = true; + + networking.firewall = { + enable = true; + allowedTCPPorts = [ 53317 ]; # LocalSend + allowedTCPPortRanges = [ + { from = 1714; to = 1764; } # KDE Connect + ]; + allowedUDPPorts = [ 53317 ]; # LocalSend + allowedUDPPortRanges = [ + { from = 1714; to = 1764; } # KDE Connect + ]; + }; + + system.stateVersion = "23.11"; + +}