diff --git a/flake.nix b/flake.nix index 582a2f3..5f16f5f 100644 --- a/flake.nix +++ b/flake.nix @@ -116,6 +116,52 @@ ]; }; + Bellerophon = nixpkgs.lib.nixosSystem { + # System + system = "x86_64-linux"; + specialArgs = { + inherit inputs; + inherit system; + }; + + # Modules + modules = [ + #kde2nix Module + #inputs.kde2nix.nixosModules.default + + # NUR Modules + nur.nixosModules.nur + + # Theme Modules + stylix.nixosModules.stylix + ./themes/targets/all.nix + ./themes/dracula + + # Host Module + ./hosts/Bellerophon + + # Home Manager Modules + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { + inherit inputs; + inherit system; + }; + home-manager.users.panotaka = { + imports = [ + nur.hmModules.nur + ./home + ./home/shell + ./home/applications + ./home/desktops/kde + ]; + }; + } + ]; + }; + Blackbird = nixpkgs.lib.nixosSystem { # System system = "x86_64-linux"; diff --git a/home/applications/vscode/extensions.lock b/home/applications/vscode/extensions.lock index 94a7ed1..0ef1799 100644 --- a/home/applications/vscode/extensions.lock +++ b/home/applications/vscode/extensions.lock @@ -219,8 +219,8 @@ merge "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { name = "python"; publisher = "ms-python"; - version = "2024.17.2024102101"; - sha256 = "0kz8b8g25vbh0i4kp7nl0bsr4a63gfy9v4d8v3ih51670wc9iqsc"; + version = "2024.17.2024102201"; + sha256 = "0z1850zbbzxkyv49486jy7wfwavih7ik97jpv3pw5bhg7lcx8xni"; arch = "linux-x64"; }; "ms-toolsai"."jupyter" = vscode-utils.extensionFromVscodeMarketplace { @@ -249,8 +249,8 @@ merge "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { name = "python"; publisher = "ms-python"; - version = "2024.17.2024102101"; - sha256 = "1dja7dnnks0azzqblvn0ybb1b8qyzig4vznsblh8d74ac14rqv0j"; + version = "2024.17.2024102201"; + sha256 = "1smqmi3jqzb2ckcqflxhxi3nqlfbjhk3kksxrk6lmyj066hdsjvc"; arch = "linux-arm64"; }; "ms-toolsai"."jupyter" = vscode-utils.extensionFromVscodeMarketplace { @@ -279,8 +279,8 @@ merge "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { name = "python"; publisher = "ms-python"; - version = "2024.17.2024102101"; - sha256 = "1cy7rk6m4rc8wgjiw93j0c5kycpgxkzvkph1x8cqgd62gpdr1mm5"; + version = "2024.17.2024102201"; + sha256 = "1mr0csgq8b4vc6hvlpgrggnb611mnq3m8zadyf67rh9mcwxrjiq2"; arch = "darwin-x64"; }; "ms-toolsai"."jupyter" = vscode-utils.extensionFromVscodeMarketplace { @@ -309,8 +309,8 @@ merge "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { name = "python"; publisher = "ms-python"; - version = "2024.17.2024102101"; - sha256 = "0xh567bfz1qipdan8f2dby1s9rgw6jxv4gi13vphd39wyk0388qh"; + version = "2024.17.2024102201"; + sha256 = "07xhnifvzj97v2j40ik60lxlhpys4c0igrd0x8h39n16v0z18s5a"; arch = "darwin-arm64"; }; "ms-toolsai"."jupyter" = vscode-utils.extensionFromVscodeMarketplace { diff --git a/hosts/Bellerophon/default.nix b/hosts/Bellerophon/default.nix new file mode 100644 index 0000000..4c44a08 --- /dev/null +++ b/hosts/Bellerophon/default.nix @@ -0,0 +1,87 @@ +{ + lib, + disko, + inputs, + ... +}: let + hostname = "Bellerophon"; +in { + # System version + system.stateVersion = "23.11"; + + imports = [ + # Import hardware configuration + inputs.disko.nixosModules.disko + ./disko.nix + + # Import system configuration + ../../modules/system.nix + ../../modules/containers.nix + ../../modules/virtualization.nix + ../../modules/harden.nix + ../../modules/kde.nix + ]; + + hardware.nvidia.open = false; + + # Set networking + hardware.enableRedistributableFirmware = true; + networking.hostName = hostname; + networking.networkmanager.enable = true; + networking.useDHCP = lib.mkDefault true; + + # Bootloader configuration + boot = { + kernelModules = ["kvm-intel"]; + extraModulePackages = []; + + initrd = { + kernelModules = []; + availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "vmd" + "nvme" + "usb_storage" + "sd_mod" + "rtsx_pci_sdmmc" + ]; + }; + + loader = { + systemd-boot = { + enable = true; + configurationLimit = 5; + }; + efi = { + canTouchEfiVariables = true; + }; + }; + }; + + # Setup Audio + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + wireplumber.extraConfig."10-disable-camera" = { + "wireplumber.profiles" = { + main = { + "monitor.libcamera" = "disabled"; + }; + }; + }; + }; + + # Setup bluetooth + hardware.bluetooth.enable = true; + + # Add OpenGl support + hardware.graphics = { + enable = true; + enable32Bit = true; + }; +} diff --git a/hosts/Bellerophon/disko.nix b/hosts/Bellerophon/disko.nix new file mode 100644 index 0000000..f9a2f20 --- /dev/null +++ b/hosts/Bellerophon/disko.nix @@ -0,0 +1,59 @@ +{ + disko.devices = { + disk = { + nvme0n1 = { + type = "disk"; + device = "/dev/nvme0n1"; + content = { + type = "gpt"; + partitions = { + ESP = { + size = "512M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ + "defaults" + ]; + }; + }; + luks = { + size = "100%"; + content = { + type = "luks"; + name = "crypted"; + settings = { + allowDiscards = true; + }; + content = { + type = "btrfs"; + extraArgs = ["-f"]; + subvolumes = { + "/root" = { + mountpoint = "/"; + mountOptions = ["compress=zstd" "noatime"]; + }; + "/home" = { + mountpoint = "/home"; + mountOptions = ["compress=zstd" "noatime"]; + }; + "/nix" = { + mountpoint = "/nix"; + mountOptions = ["compress=zstd" "noatime"]; + }; + "/swap" = { + mountpoint = "/.swapvol"; + swap.swapfile.size = "40G"; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/scripts/nix4vscode b/scripts/nix4vscode index ae9e1f0..e007307 160000 --- a/scripts/nix4vscode +++ b/scripts/nix4vscode @@ -1 +1 @@ -Subproject commit ae9e1f04cd4cd230628f7dd70b41fbdfab040df9 +Subproject commit e0073075b8e3dbb7d269cac21b27e6687587a14e