From 181b4a6b62e4d46ee7cc09a452ff49797e298389 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 10 Jul 2023 10:17:10 +0200 Subject: [PATCH] Re-add Laptop --- flake.nix | 163 ++++++++++++++++++++++++------------- systems/yokai/default.nix | 65 +++++++++++++++ systems/yokai/hradware.nix | 40 +++++++++ 3 files changed, 212 insertions(+), 56 deletions(-) create mode 100644 systems/yokai/default.nix create mode 100644 systems/yokai/hradware.nix diff --git a/flake.nix b/flake.nix index ffbd495..74ce277 100644 --- a/flake.nix +++ b/flake.nix @@ -38,66 +38,117 @@ nixos-hardware, ... }: { - nixosConfigurations.kami = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = inputs; - modules = [ - ./systems/kami - ./modules/audio - ./modules/bluetooth - ./modules/local - ./modules/nix - ./modules/plasma - ./modules/printing - #./modules/ssh - ./modules/steam - ./modules/users/jopejoe1 - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-gpu-intel - nixos-hardware.nixosModules.common-gpu-nvidia - nixos-hardware.nixosModules.common-pc - nixos-hardware.nixosModules.common-hidpi - nixos-hardware.nixosModules.common-pc-ssd - nur.nixosModules.nur - home-manager.nixosModules.home-manager - { - nixpkgs = { - config.allowUnfree = true; - overlays = [ - prismlauncher.overlays.default - nur.overlay - (self: super: { - tela-icon-theme = super.tela-icon-theme.overrideAttrs (old: { - src = inputs.tela-icon-theme; - }); - prismlauncher = super.prismlauncher.overrideAttrs (old: { - patches = (old.patches or []) ++ [ - inputs.prism-game-options-patch - inputs.prism-ftb-patch - ]; - }); - discord = super.discord.overrideAttrs (old: { - desktopItem = old.desktopItem.override (old: { exec = old.exec + " --disable-gpu-sandbox"; }); - }); - }) - ]; - }; - home-manager = { + nixosConfigurations = { + kami = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = inputs; + modules = [ + ./systems/kami + ./modules/audio + ./modules/bluetooth + ./modules/local + ./modules/nix + ./modules/plasma + ./modules/printing + #./modules/ssh + ./modules/steam + ./modules/users/jopejoe1 + nixos-hardware.nixosModules.common-cpu-intel + nixos-hardware.nixosModules.common-gpu-intel + nixos-hardware.nixosModules.common-gpu-nvidia + nixos-hardware.nixosModules.common-pc + nixos-hardware.nixosModules.common-hidpi + nixos-hardware.nixosModules.common-pc-ssd + nur.nixosModules.nur + home-manager.nixosModules.home-manager + { + nixpkgs = { + config.allowUnfree = true; + overlays = [ + prismlauncher.overlays.default + nur.overlay + (self: super: { + tela-icon-theme = super.tela-icon-theme.overrideAttrs (old: { + src = inputs.tela-icon-theme; + }); + prismlauncher = super.prismlauncher.overrideAttrs (old: { + patches = (old.patches or []) ++ [ + inputs.prism-game-options-patch + inputs.prism-ftb-patch + ]; + }); + discord = super.discord.overrideAttrs (old: { + desktopItem = old.desktopItem.override (old: { exec = old.exec + " --disable-gpu-sandbox"; }); + }); + }) + ]; + }; + home-manager = { useGlobalPkgs = true; useUserPackages = true; - }; + }; - system.stateVersion = "23.05"; + system.stateVersion = "23.05"; - nix.registry = { - home-manager.flake = home-manager; - nixos-hardware.flake = nixos-hardware; - nur.flake = nur; - nixpkgs.flake = nixpkgs; - }; - nix.nixPath = [ "nixpkgs=/etc/channels/nixpkgs" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; - } - ]; + nix.registry = { + home-manager.flake = home-manager; + nixos-hardware.flake = nixos-hardware; + nur.flake = nur; + nixpkgs.flake = nixpkgs; + }; + nix.nixPath = [ "nixpkgs=/etc/channels/nixpkgs" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; + } + ]; + }; + yokai = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = inputs; + modules = [ + ./systems/yokai + ./modules/audio + ./modules/bluetooth + ./modules/local + ./modules/nix + ./modules/plasma + ./modules/printing + #./modules/ssh + ./modules/users/jopejoe1 + nixos-hardware.nixosModules.pine64-pinebook-pro + nur.nixosModules.nur + home-manager.nixosModules.home-manager + { + nixpkgs = { + config.allowUnfree = true; + overlays = [ + prismlauncher.overlays.default + nur.overlay + (self: super: { + tela-icon-theme = super.tela-icon-theme.overrideAttrs (old: { + src = inputs.tela-icon-theme; + }); + discord = super.discord.overrideAttrs (old: { + desktopItem = old.desktopItem.override (old: { exec = old.exec + " --disable-gpu-sandbox"; }); + }); + }) + ]; + }; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + }; + + system.stateVersion = "23.05"; + + nix.registry = { + home-manager.flake = home-manager; + nixos-hardware.flake = nixos-hardware; + nur.flake = nur; + nixpkgs.flake = nixpkgs; + }; + nix.nixPath = [ "nixpkgs=/etc/channels/nixpkgs" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; + } + ]; + }; }; }; } diff --git a/systems/yokai/default.nix b/systems/yokai/default.nix new file mode 100644 index 0000000..b1fa97c --- /dev/null +++ b/systems/yokai/default.nix @@ -0,0 +1,65 @@ +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware.nix + ]; + + networking.hostName = "yokai"; + + boot.supportedFilesystems = [ "ntfs" "btrfs" "zfs" ]; + + boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; + + hardware-opengl.enable = true; + + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + + environment.systemPackages = with pkgs; [ + git + + # Theming + catppuccin-kvantum + catppuccin-kde + catppuccin-gtk + tela-icon-theme + + # Fonts + google-fonts + noto-fonts + noto-fonts-emoji + noto-fonts-cjk-sans + noto-fonts-cjk-serif + noto-fonts-emoji-blob-bin + nerdfonts + league-of-moveable-type + twitter-color-emoji + ]; + + services.flatpak.enable = true; + + programs = { + droidcam.enable = true; + dconf.enable = true; + xwayland.enable = true; + kdeconnect.enable = true; + }; + console = { + enable = true; + keyMap = "us"; + }; + services.xserver = { + layout = "us"; + }; + + boot.loader = { + grub.enable = false; + genric-extlinux-compatible.enable = true; + systemd-boot.configurationLimit = 10; + systemd-boot.editor = false; + }; +} + diff --git a/systems/yokai/hradware.nix b/systems/yokai/hradware.nix new file mode 100644 index 0000000..c7cafc6 --- /dev/null +++ b/systems/yokai/hradware.nix @@ -0,0 +1,40 @@ +# 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 = [ "usbhid" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-label/NIXROOT"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-label/NIXBOOT"; + fsType = "vfat"; + }; + + swapDevices = [ { + device = "/var/lib/swapfile"; + size = (4*1024)+(2*1024); + } ]; + + # 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.enp6s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; + + #nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.enableRedistrubutableFirmware = true; +} +