From 7e281a3470ec8ad0dddb22ba01ffb76dd943bdc0 Mon Sep 17 00:00:00 2001 From: RGBCube Date: Wed, 10 May 2023 23:06:24 +0300 Subject: [PATCH] Rewrite everythin --- .gitignore | 11 +- flake.nix | 126 ++++++++++-------- machines/asus/default.nix | 48 ++++--- machines/asus/discord/default.nix | 5 + machines/asus/docker/default.nix | 6 +- machines/asus/firefox/default.nix | 5 + machines/asus/{nixpkgs => }/fonts.nix | 4 +- machines/asus/git/default.nix | 7 +- machines/asus/hardware.nix | 40 ++++++ machines/asus/intellij/default.nix | 5 + machines/asus/libreoffice/default.nix | 7 + machines/asus/{system => }/localisation.nix | 4 +- machines/asus/neovim/default.nix | 24 ++-- machines/asus/neovim/nvchad | 1 - machines/asus/networkmanager/default.nix | 6 +- machines/asus/nixpkgs/default.nix | 6 - machines/asus/nixpkgs/packages.nix | 63 --------- .../nushell/{config.nu => configuration.nu} | 0 machines/asus/nushell/default.nix | 28 ++-- .../asus/nushell/{env.nu => environment.nu} | 0 machines/asus/openttd/default.nix | 5 + machines/asus/packages.nix | 27 ++++ machines/asus/pipewire/default.nix | 20 +-- machines/asus/platform.nix | 1 - machines/asus/qbittorrent/default.nix | 5 + machines/asus/system/bluetooth.nix | 5 - machines/asus/system/boot.nix | 22 --- machines/asus/system/default.nix | 11 -- machines/asus/system/filesystem.nix | 19 --- machines/asus/system/performance.nix | 5 - machines/asus/{users/nixos.nix => user.nix} | 7 +- machines/asus/users/default.nix | 9 -- machines/asus/wine/default.nix | 5 + machines/asus/xserver/default.nix | 11 +- rebuild.sh | 10 +- 35 files changed, 277 insertions(+), 281 deletions(-) create mode 100644 machines/asus/discord/default.nix create mode 100644 machines/asus/firefox/default.nix rename machines/asus/{nixpkgs => }/fonts.nix (64%) create mode 100644 machines/asus/hardware.nix create mode 100644 machines/asus/intellij/default.nix create mode 100644 machines/asus/libreoffice/default.nix rename machines/asus/{system => }/localisation.nix (90%) delete mode 160000 machines/asus/neovim/nvchad delete mode 100644 machines/asus/nixpkgs/default.nix delete mode 100644 machines/asus/nixpkgs/packages.nix rename machines/asus/nushell/{config.nu => configuration.nu} (100%) rename machines/asus/nushell/{env.nu => environment.nu} (100%) create mode 100644 machines/asus/openttd/default.nix create mode 100644 machines/asus/packages.nix delete mode 100644 machines/asus/platform.nix create mode 100644 machines/asus/qbittorrent/default.nix delete mode 100644 machines/asus/system/bluetooth.nix delete mode 100644 machines/asus/system/boot.nix delete mode 100644 machines/asus/system/default.nix delete mode 100644 machines/asus/system/filesystem.nix delete mode 100644 machines/asus/system/performance.nix rename machines/asus/{users/nixos.nix => user.nix} (53%) delete mode 100644 machines/asus/users/default.nix create mode 100644 machines/asus/wine/default.nix diff --git a/.gitignore b/.gitignore index 550c514..47109db 100644 --- a/.gitignore +++ b/.gitignore @@ -2,16 +2,19 @@ !machines/ !machines/asus/ +!machines/asus/discord/ !machines/asus/docker/ +!machines/asus/firefox/ !machines/asus/git/ +!machines/asus/intellij/ +!machines/asus/libreoffice/ !machines/asus/neovim/ -!machines/asus/neovim/nvchad/ !machines/asus/networkmanager/ -!machines/asus/nixpkgs/ !machines/asus/nushell/ +!machines/asus/openttd/ !machines/asus/pipewire/ -!machines/asus/users/ -!machines/asus/system/ +!machines/asus/qbittorrent/ +!machines/asus/wine/ !machines/asus/xserver/ !flake.lock diff --git a/flake.nix b/flake.nix index 6f0ec68..01583d6 100644 --- a/flake.nix +++ b/flake.nix @@ -25,69 +25,87 @@ }; }; - outputs = { nixpkgs, home-manager, fenix, ... }: + outputs = { nixpkgs, home-manager, fenix, ... }: let + machines = [ + ./machines/asus + ]; - with { - importConfiguration = configDirectory: - with { - hostName = builtins.baseNameOf configDirectory; - hostPlatform = import (configDirectory + "/platform.nix"); + nixosSystem = arguments: modules: nixpkgs.lib.nixosSystem { + specialArgs = arguments; + modules = modules; }; - { - nixosConfigurations.${hostName} = nixpkgs.lib.nixosSystem { - specialArgs = { - lib = nixpkgs.lib; + importConfiguration = configurationDirectory: let + hostName = builtins.baseNameOf configurationDirectory; + hostPlatform = import configurationDirectory + "/platform.nix"; + in { + nixosConfigurations.${hostName} = nixosSystem { + lib = nixpkgs.lib; - pkgs = import nixpkgs { - system = hostPlatform; - config.allowUnfree = true; + pkgs = import nixpkgs { + system = hostPlatform; + config.allowUnfree = true; - overlays = [ - fenix.overlays.default - ]; - }; - - # Helper function for DRY. - homeManagerConfiguration = userName: attrs: { - home-manager.users.${userName} = attrs; - }; - - # Q: Can't we just do supply a relative path "./foo" ? - # A: When configuring our system with flakes, Nix copies them to the - # Nix store to run them. So we can't use relative paths as they will refer - # to a file which is in the Nix store, and is immutable because it is in - # the Nix store, which beats the point of abusing Home Managers - # mkOutOfStoreSymlink to create symlinks to mutable files. - # To avoid this, we must give an absolute path to a file, - # so we do this. The @pwd@ here is replaced by the rebuild script - # with the working directory, then changed back after the build. - # And yes, this is a major hack. - projectPath = "@pwd@"; + overlays = [ + fenix.overlays.default + ]; }; - modules = [ - configDirectory - home-manager.nixosModules.home-manager + # Helper functions for readability & DRY. + systemConfiguration = attributes: attributes; - { - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; + homeConfiguration = userName: attributes: systemConfiguration { + home-manager.users.${userName} = attributes; + }; - networking.hostName = hostName; - nixpkgs.hostPlatform = hostPlatform; + imports = importPaths: systemConfiguration { + imports = importPaths; + }; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - } - ]; - }; + packages = packages: systemConfiguration { + environment.systemPackages = packages; + }; + + fonts = fonts: systemConfiguration { + fonts.fonts = packages; + }; + + enabled = attributes: attributes // { + enabled = true; + }; + + normalUser = attributes: attributes // { + isNormalUser = true; + }; + + # Q: Can't we just do supply a relative path "./foo" ? + # A: When configuring our system with flakes, Nix copies them to the + # Nix store to run them. So we can't use relative paths as they will refer + # to a file which is in the Nix store, and is immutable because it is in + # the Nix store, which beats the point of abusing Home Managers + # mkOutOfStoreSymlink to create symlinks to mutable files. + # To avoid this, we must give an absolute path to a file, + # so we do this. The @pwd@ here is replaced by the rebuild script + # with the working directory, then changed back after the build. + # And yes, this is a major hack. + projectPath = "@pwd@"; + } [ + configurationDirectory + home-manager.nixosModules.home-manager + + { + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + + networking.hostName = hostName; + nixpkgs.hostPlatform = hostPlatform; + + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + } + ]; }; - }; - - builtins.foldl' nixpkgs.lib.recursiveUpdate {} (builtins.map importConfiguration [ - ./machines/asus - ]); + in builtins.foldl' nixpkgs.lib.recursiveUpdate {} (builtins.map importConfiguration machines); } diff --git a/machines/asus/default.nix b/machines/asus/default.nix index 785c020..c28c306 100644 --- a/machines/asus/default.nix +++ b/machines/asus/default.nix @@ -1,24 +1,36 @@ -{ homeManagerConfiguration, ... }: +{ systemConfiguration, homeConfiguration, imports, ... }: -{ +(imports [ + ./discord + ./docker + ./firefox + ./git + ./intellij + ./libreoffice + ./neovim + ./networkmanager + ./nushell + ./openttd + ./pipewire + ./qbittorrent + ./wine + ./xserver + + ./fonts.nix + ./hardware.nix + ./localisation.nix + ./packages.nix + ./user.nix +]) + +// + +(systemConfiguration { system.stateVersion = "22.11"; +}) - imports = [ - ./docker - ./git - ./neovim - ./networkmanager - ./nixpkgs - ./nushell - ./pipewire - ./system - ./users - ./xserver - ]; -} +// - // - -(homeManagerConfiguration "nixos" { +(homeConfiguration "nixos" { home.stateVersion = "22.11"; }) diff --git a/machines/asus/discord/default.nix b/machines/asus/discord/default.nix new file mode 100644 index 0000000..a226aa5 --- /dev/null +++ b/machines/asus/discord/default.nix @@ -0,0 +1,5 @@ +{ pkgs, packages, ... }: + +with pkgs; packages [ + discord +] diff --git a/machines/asus/docker/default.nix b/machines/asus/docker/default.nix index 0582d99..3ad237f 100644 --- a/machines/asus/docker/default.nix +++ b/machines/asus/docker/default.nix @@ -1,5 +1,5 @@ -{ ... }: +{ systemConfiguration, enabled, ... }: -{ - virtualisation.docker.enable = true; +systemConfiguration { + virtualisation.docker = enabled {}; } diff --git a/machines/asus/firefox/default.nix b/machines/asus/firefox/default.nix new file mode 100644 index 0000000..33d9b31 --- /dev/null +++ b/machines/asus/firefox/default.nix @@ -0,0 +1,5 @@ +{ systemConfiguration, enabled, ... }: + +systemConfiguration { + programs.firefox = enabled {}; +} diff --git a/machines/asus/nixpkgs/fonts.nix b/machines/asus/fonts.nix similarity index 64% rename from machines/asus/nixpkgs/fonts.nix rename to machines/asus/fonts.nix index 1f684c0..7de55f7 100644 --- a/machines/asus/nixpkgs/fonts.nix +++ b/machines/asus/fonts.nix @@ -1,6 +1,6 @@ -pkgs: with pkgs; [] +{ pkgs, fonts, ... }: -++ [ # NERD FONTS +with pkgs; fonts [ (nerdfonts.override { fonts = [ "JetBrainsMono" diff --git a/machines/asus/git/default.nix b/machines/asus/git/default.nix index e622872..45fc340 100644 --- a/machines/asus/git/default.nix +++ b/machines/asus/git/default.nix @@ -1,8 +1,7 @@ -{ homeManagerConfiguration, ... }: +{ homeConfiguration, enabled, ... }: -homeManagerConfiguration "nixos" { - programs.git.enable = true; - programs.git = { +homeConfiguration "nixos" { + programs.git = enabled { userName = "RGBCube"; userEmail = "RGBCube@users.noreply.github.com"; diff --git a/machines/asus/hardware.nix b/machines/asus/hardware.nix new file mode 100644 index 0000000..c22a552 --- /dev/null +++ b/machines/asus/hardware.nix @@ -0,0 +1,40 @@ +{ systemConfiguration, ... }: + +systemConfiguration { + powerManagement.cpuFreqGovernor = "performance"; + + boot.initrd.availableKernelModules = [ + "ahci" + "sd_mod" + "sr_mod" + "usb_storage" + "usbhid" + "xhci_pci" + ]; + + boot.kernelModules = [ + "kvm-intel" + ]; + + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + efi.efiSysMountPoint = "/boot/efi"; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/d0e4626c-507e-484a-9ecc-94817d889083"; + fsType = "ext4"; + }; + + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/A467-98D1"; + fsType = "vfat"; + }; + + swapDevices = [ + { + device = "/dev/disk/by-uuid/10bfe7d8-1daf-4c65-a5a6-cf3c9a085478"; + } + ]; +} diff --git a/machines/asus/intellij/default.nix b/machines/asus/intellij/default.nix new file mode 100644 index 0000000..607d64f --- /dev/null +++ b/machines/asus/intellij/default.nix @@ -0,0 +1,5 @@ +{ pkgs, packages, ... }: + +with pkgs.jetbrains; packages [ + idea-ultimate +] diff --git a/machines/asus/libreoffice/default.nix b/machines/asus/libreoffice/default.nix new file mode 100644 index 0000000..3e02418 --- /dev/null +++ b/machines/asus/libreoffice/default.nix @@ -0,0 +1,7 @@ +{ pkgs, packages, ... }: + +with pkgs; packages [ + libreoffice + hunspellDicts.en_US + hunspellDicts.en_GB-ize +] diff --git a/machines/asus/system/localisation.nix b/machines/asus/localisation.nix similarity index 90% rename from machines/asus/system/localisation.nix rename to machines/asus/localisation.nix index d872bdd..804012d 100644 --- a/machines/asus/system/localisation.nix +++ b/machines/asus/localisation.nix @@ -1,6 +1,6 @@ -{ ... }: +{ systemConfiguration, ... }: -{ +systemConfiguration { services.xserver.layout = "tr"; console.keyMap = "trq"; diff --git a/machines/asus/neovim/default.nix b/machines/asus/neovim/default.nix index 4007e78..1f3811d 100644 --- a/machines/asus/neovim/default.nix +++ b/machines/asus/neovim/default.nix @@ -1,23 +1,21 @@ -{ pkgs, lib, homeManagerConfiguration, projectPath, ... }: +{ lib, pkgs, systemConfiguration, homeConfiguration, packages, enabled, projectPath, ... }: -{ - # Nuking nano out of orbit. +(systemConfiguration { environment.defaultPackages = []; programs.nano.syntaxHighlight = false; - - environment.systemPackages = with pkgs; [ - neovim-qt - ]; -} +}) // -(homeManagerConfiguration "nixos" ({ config, ... }: { - programs.neovim.enable = true; - programs.neovim = { - # Does not work with Nushell for some reason, I just set it manually. - # defaultEditor = true; +(with pkgs; packages [ + neovim-qt +]) +// + +(homeConfiguration "nixos" ({ config, ... }: { + programs.neovim = enabled { + defaultEditor = true; viAlias = true; vimAlias = true; }; diff --git a/machines/asus/neovim/nvchad b/machines/asus/neovim/nvchad deleted file mode 160000 index 3dd0fa6..0000000 --- a/machines/asus/neovim/nvchad +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3dd0fa6c5b0933d9a395e2492de69c151831c66e diff --git a/machines/asus/networkmanager/default.nix b/machines/asus/networkmanager/default.nix index 6e2a390..5430b45 100644 --- a/machines/asus/networkmanager/default.nix +++ b/machines/asus/networkmanager/default.nix @@ -1,5 +1,5 @@ -{ ... }: +{ systemConfiguration, enabled, ... }: -{ - networking.networkmanager.enable = true; +systemConfiguration { + networking.networkmanager = enabled {}; } diff --git a/machines/asus/nixpkgs/default.nix b/machines/asus/nixpkgs/default.nix deleted file mode 100644 index d85b174..0000000 --- a/machines/asus/nixpkgs/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = import ./packages.nix pkgs; - fonts.fonts = import ./fonts.nix pkgs; -} diff --git a/machines/asus/nixpkgs/packages.nix b/machines/asus/nixpkgs/packages.nix deleted file mode 100644 index 5061d1d..0000000 --- a/machines/asus/nixpkgs/packages.nix +++ /dev/null @@ -1,63 +0,0 @@ -pkgs: with pkgs; [] - -++ [ # APPLICATIONS - firefox - discord - qbittorrent -] - -++ [ # DEVELOPMENT TOOLS - bat -] - -++ [ # EDITORS - jetbrains.idea-ultimate -] - -++ [ # EMULATION - wine -] - -++ [ # FIRMWARE - linux-firmware -] - -++ [ # GAMES - openttd -] - -++ [ # LIBREOFFICE - libreoffice - hunspellDicts.en_US - hunspellDicts.en_GB-ize -] - -++ [ # MISCELLANEOUS - htop - neofetch -] - -++ [ # PLASMA THEMES - lightly-qt -] - -++ [ # COMPILERS & TOOLING - gcc - go - (fenix.complete.withComponents [ - "rustc" - "rust-src" - "cargo" - "rustfmt" - "clippy" - ]) -] - -++ [ # PYTHON - (python311.withPackages (pkgs: with pkgs; [ - pip - requests - ])) - virtualenv - poetry -] diff --git a/machines/asus/nushell/config.nu b/machines/asus/nushell/configuration.nu similarity index 100% rename from machines/asus/nushell/config.nu rename to machines/asus/nushell/configuration.nu diff --git a/machines/asus/nushell/default.nix b/machines/asus/nushell/default.nix index 188b45f..bbc6f3a 100644 --- a/machines/asus/nushell/default.nix +++ b/machines/asus/nushell/default.nix @@ -1,16 +1,22 @@ -{ homeManagerConfiguration, ... }: +{ pkgs, systemConfiguration, homeConfiguration, enabled, ... }: -homeManagerConfiguration "nixos" { - programs.starship.enable = true; - programs.starship.settings.character = { - success_symbol = ""; - error_symbol = ""; +(systemConfiguration { + users.defaultUserShell = pkgs.nushell; +}) + +// + +(homeConfiguration "nixos" { + programs.starship = enabled { + settings.character = { + success_symbol = ""; + error_symbol = ""; + }; }; - programs.nushell.enable = true; - programs.nushell = { - configFile.source = ./config.nu; - envFile.source = ./env.nu; + programs.nushell = enabled { + configFile.source = ./configuration.nu; + envFile.source = ./environment.nu; environmentVariables = { EDITOR = "nvim"; @@ -35,4 +41,4 @@ homeManagerConfiguration "nixos" { p = "python3"; }; }; -} +}) diff --git a/machines/asus/nushell/env.nu b/machines/asus/nushell/environment.nu similarity index 100% rename from machines/asus/nushell/env.nu rename to machines/asus/nushell/environment.nu diff --git a/machines/asus/openttd/default.nix b/machines/asus/openttd/default.nix new file mode 100644 index 0000000..a2e00b3 --- /dev/null +++ b/machines/asus/openttd/default.nix @@ -0,0 +1,5 @@ +{ pkgs, packages, ... }: + +with pkgs; packages [ + openttd +] diff --git a/machines/asus/packages.nix b/machines/asus/packages.nix new file mode 100644 index 0000000..0c3ca4e --- /dev/null +++ b/machines/asus/packages.nix @@ -0,0 +1,27 @@ +{ pkgs, packages, ... }: + +with pkgs; packages [ + bat + htop + neofetch + + lightly-qt + + gcc + go + + (fenix.complete.withComponents [ + "rustc" + "rust-src" + "cargo" + "rustfmt" + "clippy" + ]) + + (python311.withPackages (pkgs: with pkgs; [ + pip + requests + ])) + virtualenv + poetry +] diff --git a/machines/asus/pipewire/default.nix b/machines/asus/pipewire/default.nix index 2af1f18..1305bc7 100644 --- a/machines/asus/pipewire/default.nix +++ b/machines/asus/pipewire/default.nix @@ -1,14 +1,14 @@ -{ ... }: +{ systemConfiguration, enabled, ... }: -{ - sound.enable = true; - services.pipewire.enable = true; - services.pipewire = { - pulse.enable = true; +systemConfiguration { + security.rtkit = enabled {}; + sound = enabled {}; - alsa.enable = true; - alsa.support32Bit = true; + services.pipewire = enabled { + pulse = enabled {}; + + alsa = enabled { + support32Bit = true; + }; }; - - security.rtkit.enable = true; # Needed for PulseAudio. } diff --git a/machines/asus/platform.nix b/machines/asus/platform.nix deleted file mode 100644 index 132026a..0000000 --- a/machines/asus/platform.nix +++ /dev/null @@ -1 +0,0 @@ -"x86_64-linux" diff --git a/machines/asus/qbittorrent/default.nix b/machines/asus/qbittorrent/default.nix new file mode 100644 index 0000000..9536655 --- /dev/null +++ b/machines/asus/qbittorrent/default.nix @@ -0,0 +1,5 @@ +{ pkgs, packages, ... }: + +with pkgs; packages [ + qbittorrent +] diff --git a/machines/asus/system/bluetooth.nix b/machines/asus/system/bluetooth.nix deleted file mode 100644 index fb6a06a..0000000 --- a/machines/asus/system/bluetooth.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ ... }: - -{ - hardware.bluetooth.enable = true; -} diff --git a/machines/asus/system/boot.nix b/machines/asus/system/boot.nix deleted file mode 100644 index 0c87239..0000000 --- a/machines/asus/system/boot.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ ... }: - -{ - boot.initrd.availableKernelModules = [ - "ahci" - "sd_mod" - "sr_mod" - "usb_storage" - "usbhid" - "xhci_pci" - ]; - - boot.kernelModules = [ - "kvm-intel" - ]; - - boot.loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - efi.efiSysMountPoint = "/boot/efi"; - }; -} diff --git a/machines/asus/system/default.nix b/machines/asus/system/default.nix deleted file mode 100644 index b64097c..0000000 --- a/machines/asus/system/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ ... }: - -{ - imports = [ - ./bluetooth.nix - ./boot.nix - ./filesystem.nix - ./localisation.nix - ./performance.nix - ]; -} diff --git a/machines/asus/system/filesystem.nix b/machines/asus/system/filesystem.nix deleted file mode 100644 index 8db8a79..0000000 --- a/machines/asus/system/filesystem.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ ... }: - -{ - fileSystems."/" = { - device = "/dev/disk/by-uuid/d0e4626c-507e-484a-9ecc-94817d889083"; - fsType = "ext4"; - }; - - fileSystems."/boot/efi" = { - device = "/dev/disk/by-uuid/A467-98D1"; - fsType = "vfat"; - }; - - swapDevices = [ - { - device = "/dev/disk/by-uuid/10bfe7d8-1daf-4c65-a5a6-cf3c9a085478"; - } - ]; -} diff --git a/machines/asus/system/performance.nix b/machines/asus/system/performance.nix deleted file mode 100644 index df49091..0000000 --- a/machines/asus/system/performance.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ ... }: - -{ - powerManagement.cpuFreqGovernor = "performance"; -} diff --git a/machines/asus/users/nixos.nix b/machines/asus/user.nix similarity index 53% rename from machines/asus/users/nixos.nix rename to machines/asus/user.nix index 9a34ba0..77d15ae 100644 --- a/machines/asus/users/nixos.nix +++ b/machines/asus/user.nix @@ -1,9 +1,8 @@ -{ ... }: +{ systemConfiguration, normalUser, ... }: -{ - users.users.nixos = { +systemConfiguration { + users.users.nixos = normalUser { description = "NixOS"; - isNormalUser = true; extraGroups = [ "wheel" diff --git a/machines/asus/users/default.nix b/machines/asus/users/default.nix deleted file mode 100644 index 98265a8..0000000 --- a/machines/asus/users/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: - -{ - users.defaultUserShell = pkgs.nushell; - - imports = [ - ./nixos.nix - ]; -} diff --git a/machines/asus/wine/default.nix b/machines/asus/wine/default.nix new file mode 100644 index 0000000..e5f49cf --- /dev/null +++ b/machines/asus/wine/default.nix @@ -0,0 +1,5 @@ +{ pkgs, packages, ... }: + +with pkgs; packages [ + wine +] diff --git a/machines/asus/xserver/default.nix b/machines/asus/xserver/default.nix index c5eed89..f9966c3 100644 --- a/machines/asus/xserver/default.nix +++ b/machines/asus/xserver/default.nix @@ -1,9 +1,8 @@ -{ ... }: +{ systemConfiguration, enabled, ... }: -{ - services.xserver.enable = true; - services.xserver = { - displayManager.sddm.enable = true; - desktopManager.plasma5.enable = true; +systemConfiguration { + services.xserver = enabled { + displayManager.sddm = enabled {}; + desktopManager.plasma5 = enabled {}; }; } diff --git a/rebuild.sh b/rebuild.sh index 7de126d..9f00fcd 100755 --- a/rebuild.sh +++ b/rebuild.sh @@ -1,11 +1,9 @@ #!/bin/sh -if [[ $1 == "--help" || $1 == "-h" ]]; then - echo "Usage: rebuild.sh [-h | --help] [-c | --clean-garbage] [machine]" +if [[ $1 == "-h" || $1 == "--help" ]]; then + echo "Usage: $0 [-h | --help] [-c | --clean-garbage] [machine]" exit -fi - -sudo true +fi< if [[ -n $1 ]]; then if [[ $1 != "-c" && $1 != "--clean-garbage" ]]; then @@ -19,6 +17,8 @@ else read -p "What machine would you want to build? [$(ls --format=commas machines)]: " machine fi +sudo true + sed -ie "s|@pwd@|$PWD|g" flake.nix sudo nixos-rebuild switch --impure --flake .#$machine