diff --git a/flake.lock b/flake.lock index a5677e5..5a5ae5c 100644 --- a/flake.lock +++ b/flake.lock @@ -120,6 +120,26 @@ "type": "github" } }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "lix": { "flake": false, "locked": { @@ -148,7 +168,7 @@ "narHash": "sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu+s=", "rev": "9098ac95768f7006d7e070b88bae76939f6034e6", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/9098ac95768f7006d7e070b88bae76939f6034e6.tar.gz?rev=9098ac95768f7006d7e070b88bae76939f6034e6" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/9098ac95768f7006d7e070b88bae76939f6034e6.tar.gz" }, "original": { "type": "tarball", @@ -164,11 +184,11 @@ ] }, "locked": { - "lastModified": 1731721802, - "narHash": "sha256-bdzCCvI3spAsAhWOt8NUrnyVSXI0DBTf7ZAGxJq05pk=", + "lastModified": 1731981116, + "narHash": "sha256-SgnDCrAuX9JxRk7NqGJCXYmt+EUkDF2rfL7QjtNImuk=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "b169b926e312ac0ea61367a191014a9d6e2114e8", + "rev": "3b71545aa21e6fe9eb7690be7ee2ee3d633b1990", "type": "github" }, "original": { @@ -179,11 +199,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1731403644, - "narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=", + "lastModified": 1731797098, + "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f6581f1c3b137086e42a08a906bdada63045f991", + "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", "type": "github" }, "original": { @@ -195,11 +215,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731319897, - "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", + "lastModified": 1731676054, + "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dc460ec76cbff0e66e269457d7b728432263166c", + "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", "type": "github" }, "original": { @@ -209,24 +229,9 @@ "type": "github" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1730602179, - "narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { + "home-manager": "home-manager", "lix-module": "lix-module", "nix-minecraft": "nix-minecraft", "nixos-hardware": "nixos-hardware", @@ -261,15 +266,14 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable" + ] }, "locked": { - "lastModified": 1731364708, - "narHash": "sha256-HC0anOL+KmUQ2hdRl0AtunbAckasxrkn4VLmxbW/WaA=", + "lastModified": 1731954233, + "narHash": "sha256-vvXx1m2Rsw7MkbKJdpcICzz4YPgZPApGKQGhNZfkhOI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4c91d52db103e757fc25b58998b0576ae702d659", + "rev": "e39947d0ee8e341fa7108bd02a33cdfa24a1360e", "type": "github" }, "original": { diff --git a/homes/x86_64-linux/kb@LoyAdjo/default.nix b/homes/x86_64-linux/kb@LoyAdjo/default.nix new file mode 100644 index 0000000..b921ba8 --- /dev/null +++ b/homes/x86_64-linux/kb@LoyAdjo/default.nix @@ -0,0 +1,143 @@ +{ config, pkgs, lib, inputs, ... }: +let + # Firefox Profile Setting States + lock-false = { + Value = false; + Status = "locked"; + }; + lock-true = { + Value = true; + Status = "locked"; + }; + lock-empty-string = { + Value = ""; + Status = "locked"; + }; +in { + home.username = "kb"; + home.homeDirectory = "/home/kb"; + home.packages = with pkgs; [ + # System + kate + kdePackages.kcalc + # Office + thunderbird + libreoffice + logseq + # Security + gnupg + keepassxc + pass-wayland + veracrypt + protonvpn-gui + # Media + freetube + inkscape + blender + obs-studio + cheese + gimp + vlc + kid3 + #calibre + spotify-player + tidal-hifi + # Messengers + element-desktop # Matrix Client + telegram-desktop + signal-desktop + webcord + # Customization + nerdfonts + razergenie + firefoxpwa + # Development + vscodium + scrcpy + # Experiments + yazi # Terminal File-Manager + # Gaming + ryujinx # Experimental Nitendo Switch Emulator + mangohud + prismlauncher + ]; + + services.syncthing.enable = true; + services.syncthing.extraOptions = [ + "--config=/home/kb/.config/syncthing" + "--data=/home/kb/sync" + ]; + + services.gpg-agent.enable = true; + + services.ssh-agent.enable = true; + + programs.firefox = { + enable = true; + nativeMessagingHosts = [ pkgs.firefoxpwa ]; + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableFirefoxAccounts = true; + AutofillAddressEnabled = false; + AutofillCreditCardEnabled = false; + OfferToSaveLogins = false; + FirefoxHome.TopSites = false; + FirefoxHome.SponsoredTopSites = false; + Preferences = { + "browser.newtabpage.pinned" = lock-empty-string; + "browser.topsites.contile.enabled" = lock-false; + }; + DontCheckDefaultBrowser = true; + DisableProfileImport = true; + SearchBar = "unified"; + SearchEngines.Add = [ # Only Available in ESR Releases https://mozilla.github.io/policy-templates/#searchengines--add + { + Name = "Brave"; + URLTemplate = "https://search.brave.com/search?q={SearchTerms}"; + Alias = "br"; + } + ]; + ExtensionSettings = { # See https://mozilla.github.io/policy-templates/#extensionsettings + "extension@tabliss.io" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/3940751/tabliss-2.6.0.xpi"; + installation_mode = "normal_installed"; + }; + "gdpr@cavi.au.dk" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4362793/consent_o_matic-1.1.3.xpi"; + installation_mode = "normal_installed"; + }; + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4382536/ublock_origin-1.61.0.xpi"; + installation_mode = "normal_installed"; + }; + "keepassxc-browser@keepassxc.org" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4376326/keepassxc_browser-1.9.4.xpi"; + installation_mode = "normal_installed"; + }; + "offline-qr-code@rugk.github.io" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4349427/offline_qr_code_generator-1.9.xpi"; + installation_mode = "normal_installed"; + }; + "addon@darkreader.org" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4378073/darkreader-4.9.96.xpi"; + installation_mode = "normal_installed"; + }; + "firefoxpwa@filips.si" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4383345/pwas_for_firefox-2.13.1.xpi"; + installation_mode = "normal_installed"; + }; + }; + Bookmarks = [ + { + Title = "Syncthing"; + URL = "localhost:8384"; + Placement = "toolbar"; + } + ]; + }; + }; + + home.stateVersion = "24.05"; +} diff --git a/systems/x86_64-linux/LoyAdjo/default.nix b/systems/x86_64-linux/LoyAdjo/default.nix new file mode 100644 index 0000000..343b1d0 --- /dev/null +++ b/systems/x86_64-linux/LoyAdjo/default.nix @@ -0,0 +1,97 @@ +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware.nix + ]; + + # Configure Nix + nix.package = pkgs.lix; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nixpkgs.config.allowUnfree = true; + nixpkgs.config.permittedInsecurePackages = [ + "electron-27.3.11" + ]; + + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "LoyAdjo"; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + services.xserver.videoDrivers = [ "nvidia" ]; + + # Enable the KDE Plasma Desktop Environment. + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + + # Configure console keymap + console.keyMap = "de"; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound with pipewire. + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + users.users.kb = { # Managed by Homemanager + isNormalUser = true; + description = "kB"; + extraGroups = [ "networkmanager" "wheel" ]; + }; + + # Enable automatic login for the user. + # services.xserver.displayManager.autoLogin.enable = true; + # services.xserver.displayManager.autoLogin.user = "kb"; + +# services.gpg-agent.enable = true; + +# services.ssh-agent.enable = true; + + # List packages installed in system profile. To search, run: $ nix search wget + environment.systemPackages = with pkgs; [ + vim + git + ]; + + system.stateVersion = "24.05"; # NEVER Change this! + +} diff --git a/systems/x86_64-linux/LoyAdjo/hardware.nix b/systems/x86_64-linux/LoyAdjo/hardware.nix new file mode 100644 index 0000000..39f2519 --- /dev/null +++ b/systems/x86_64-linux/LoyAdjo/hardware.nix @@ -0,0 +1,49 @@ +# 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" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + # Setup Nvidia Driver + hardware.opengl.enable = true; + hardware.nvidia = + { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.beta; + }; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/b3344eaa-384e-4779-92b8-92f6e9a27d7d"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-11c71284-504f-4b84-a944-265ad793b139".device = "/dev/disk/by-uuid/11c71284-504f-4b84-a944-265ad793b139"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/3C1C-72D5"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/systems/x86_64-linux/kb-games-01/default.nix b/systems/x86_64-linux/kb-games-01/default.nix index 8d9352b..893b27f 100644 --- a/systems/x86_64-linux/kb-games-01/default.nix +++ b/systems/x86_64-linux/kb-games-01/default.nix @@ -34,6 +34,7 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLbU0GpeqkYOsccsddQgZAppd5SFiokGAfjKr+dEEjY kb HyperC" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHS3DoQe/4TtdTLD/Fl41rTjE0n5MyFMl59VGVejcskO kb voloxo" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPpN/3esM0SFLJ2guCBOYX8IdBC+jUiMF+xPYkTEuzbe kb-work yerukall" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMN1LWMOfFtRKkSLIA/XTj3KYm7OG2bjqEmGXj0gmDc7 kb@LoyAdjo" ]; isNormalUser = true; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.