diff --git a/common/default.nix b/common/default.nix index b5a1f7f..838bb20 100644 --- a/common/default.nix +++ b/common/default.nix @@ -49,6 +49,5 @@ ll = "exa -l"; la = "exa -la"; tree = "exa -T"; - apt = "echo 'please use nix-env -iA instead to install packages.'"; }; } diff --git a/deploy.sh b/deploy.sh index f425fce..c19b0a8 100755 --- a/deploy.sh +++ b/deploy.sh @@ -11,16 +11,12 @@ then fi mode="${1:-switch}" -host="${2:-nuc}" -target="${3:-$host.c3h}" - -echo "deploying $host to $target" -sleep 1 +host="nuc" +target="nuc@nuc.c3h" +#host="${2:-nuc}" +#target="${3:-$host.c3h}" sources=$(nix-build nix/sources-dir.nix --no-out-link) set -x -system_drv=$(nix-instantiate "" -I $sources -I "nixos-config=$PWD/hosts/$host/configuration.nix" | head -n1) -nix-copy-closure --to $target $system_drv -system=$(ssh $target "nix-store --realise $system_drv") -ssh $target "sudo nix-env -p /nix/var/nix/profiles/system -i $system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration $mode" +nixos-rebuild "$mode" --target-host "$target" --use-remote-sudo -I $sources -I "nixos-config=$PWD/hosts/$host/configuration.nix" diff --git a/hosts/bemmer/configuration.nix b/hosts/bemmer/configuration.nix deleted file mode 100644 index 62b02f7..0000000 --- a/hosts/bemmer/configuration.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ modulesPath, lib, pkgs, ... }: - -{ - imports = [ - (modulesPath + "/installer/sd-card/sd-image-aarch64.nix") - - ../../common - - # services - ../../shared-services/pulseaudio.nix - #../../shared-services/nfs-server.nix - ../../shared-services/mpd.nix - ../../shared-services/ympd.nix - ../../shared-services/spotifyd.nix - ../../shared-services/desktop.nix - ../../shared-services/vnc.nix - ../../shared-services/webserver.nix - ]; - users.users.c3h = { - isNormalUser = true; - password = "c3h"; - extraGroups = [ "wheel" ]; - packages = with pkgs; [ chromium firefox mpv youtube-dl ]; - }; - - networking.hostName = "bemmer"; - networking.domain = "c3h"; - - networking.useDHCP = true; - - nixpkgs.system = "aarch64-linux"; - boot.initrd.availableKernelModules = lib.mkForce [ "vc4" "i2c_bcm2835" ]; - boot.supportedFilesystems = lib.mkForce [ "ext4" "vfat" ]; - boot.kernelPackages = pkgs.linuxPackages_rpi4; - documentation.enable = false; - - hardware.raspberry-pi."4" = { - fkms-3d.enable = true; - #audio.enable = true; - }; - - system.stateVersion = "21.05"; -} diff --git a/hosts/nuc/configuration.nix b/hosts/nuc/configuration.nix index 47fc3ef..741c50e 100644 --- a/hosts/nuc/configuration.nix +++ b/hosts/nuc/configuration.nix @@ -3,18 +3,17 @@ { imports = [ ./hardware-configuration.nix - ../../common # services - ../../shared-services/pulseaudio.nix - ../../shared-services/nfs-server.nix - ../../shared-services/mpd.nix - ../../shared-services/ympd.nix - ../../shared-services/spotifyd.nix - ../../shared-services/desktop.nix - ../../shared-services/vnc.nix - ../../shared-services/webserver.nix + ./pulseaudio.nix + ./nfs-server.nix + ./mpd.nix + ./ympd.nix + ./spotifyd.nix + ./desktop.nix + ./vnc.nix + ./webserver.nix ]; networking.hostName = "nuc"; diff --git a/hosts/nuc/desktop.nix b/hosts/nuc/desktop.nix new file mode 100644 index 0000000..e539927 --- /dev/null +++ b/hosts/nuc/desktop.nix @@ -0,0 +1,25 @@ +{ pkgs, ... }: + +{ + users.mutableUsers = false; + users.users.c3h = { + isNormalUser = true; + password = "c3h"; + extraGroups = [ "wheel" ]; + packages = with pkgs; [ chromium firefox mpv youtube-dl ]; + }; + + services.xserver = { + enable = true; + layout = "de"; + + videoDrivers = [ "modesetting" ]; + useGlamor = true; + + displayManager.lightdm.enable = true; + displayManager.autoLogin.enable = true; + displayManager.autoLogin.user = "c3h"; + + desktopManager.mate.enable = true; + }; +} diff --git a/shared-services/mpd.nix b/hosts/nuc/mpd.nix similarity index 100% rename from shared-services/mpd.nix rename to hosts/nuc/mpd.nix diff --git a/shared-services/nfs-server.nix b/hosts/nuc/nfs-server.nix similarity index 100% rename from shared-services/nfs-server.nix rename to hosts/nuc/nfs-server.nix diff --git a/shared-services/pulseaudio.nix b/hosts/nuc/pulseaudio.nix similarity index 87% rename from shared-services/pulseaudio.nix rename to hosts/nuc/pulseaudio.nix index cdc48fe..7bb6565 100644 --- a/shared-services/pulseaudio.nix +++ b/hosts/nuc/pulseaudio.nix @@ -8,5 +8,4 @@ hardware.pulseaudio.package = pkgs.pulseaudio; hardware.pulseaudio.tcp.enable = true; hardware.pulseaudio.tcp.anonymousClients.allowedIpRanges = [ "127.0.0.0/8" "::/64" "10.23.42.0/24" ]; - environment.variables.PULSE_SERVER = "127.0.0.1"; } diff --git a/shared-services/spotifyd.nix b/hosts/nuc/spotifyd.nix similarity index 100% rename from shared-services/spotifyd.nix rename to hosts/nuc/spotifyd.nix diff --git a/shared-services/vnc.nix b/hosts/nuc/vnc.nix similarity index 100% rename from shared-services/vnc.nix rename to hosts/nuc/vnc.nix diff --git a/shared-services/webserver.nix b/hosts/nuc/webserver.nix similarity index 100% rename from shared-services/webserver.nix rename to hosts/nuc/webserver.nix diff --git a/shared-services/ympd.nix b/hosts/nuc/ympd.nix similarity index 100% rename from shared-services/ympd.nix rename to hosts/nuc/ympd.nix diff --git a/nix/sources.json b/nix/sources.json index f739c0f..d23d445 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -11,28 +11,16 @@ "url": "https://github.com/nmattia/niv/archive/e0ca65c81a2d7a4d82a189f1e23a48d59ad42070.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, - "nixos-hardware": { - "branch": "master", - "description": "A collection of NixOS modules covering hardware quirks.", - "homepage": "", - "owner": "NixOS", - "repo": "nixos-hardware", - "rev": "3aabf78bfcae62f5f99474f2ebbbe418f1c6e54f", - "sha256": "10g240brgjz7qi20adwajxwqrqb5zxc79ii1mc20fasgqlf2a8sx", - "type": "tarball", - "url": "https://github.com/NixOS/nixos-hardware/archive/3aabf78bfcae62f5f99474f2ebbbe418f1c6e54f.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, "nixpkgs": { - "branch": "nixos-unstable", + "branch": "nixos-21.05", "description": "Nix Packages collection", "homepage": "", "owner": "NixOS", "repo": "nixpkgs", - "rev": "34ad3ffe08adfca17fcb4e4a47bb5f3b113687be", - "sha256": "02li241rz5668nfyp88zfjilxf0mr9yansa93fbl38hjwkhf3ix6", + "rev": "70904d4a9927a4d6e05c72c4aaac4370e05107f3", + "sha256": "08vvir0npyrdx85ypiannwzvyryqdw3749bghffhdsq2dgz1cx8z", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/34ad3ffe08adfca17fcb4e4a47bb5f3b113687be.tar.gz", + "url": "https://github.com/NixOS/nixpkgs/archive/70904d4a9927a4d6e05c72c4aaac4370e05107f3.tar.gz", "url_template": "https://github.com///archive/.tar.gz" } } diff --git a/shared-services/desktop.nix b/shared-services/desktop.nix deleted file mode 100644 index f11fb04..0000000 --- a/shared-services/desktop.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ pkgs, ... }: - -{ - users.mutableUsers = false; - users.users.c3h = { - isNormalUser = true; - password = "c3h"; - extraGroups = [ "wheel" ]; - packages = with pkgs; [ chromium firefox mpv youtube-dl ]; - }; - - services.xserver = { - enable = true; - layout = "de"; - - videoDrivers = [ "modesetting" ]; - useGlamor = true; - - displayManager.lightdm.enable = true; - displayManager.autoLogin.enable = true; - displayManager.autoLogin.user = "c3h"; - - desktopManager.mate.enable = true; - }; - - programs.chromium = { - enable = true; - extensions = [ - "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin - ]; - extraOpts = { - DefaultSearchProviderEnabled = true; - DefaultSearchProviderName = "DuckDuckGo"; - DefaultSearchProviderIconURL = "https://duckduckgo.com/favicon.ico"; - DefaultSearchProviderSearchURL = "https://duckduckgo.com/?q={searchTerms}"; - DefaultSearchProviderSuggestURL = "https://duckduckgo.com/ac/?q={searchTerms}&type=list"; - - DefaultBrowserSettingEnabled = false; - BlockThirdPartyCookies = true; - - BrowserSignin = 0; - SyncDisabled = true; - PasswordManagerEnabled = false; - - # Send less data to Google - SafeBrowsingProtectionLevel = 0; - UrlKeyedAnonymizedDataCollectionEnabled = false; - SafeBrowsingExtendedReportingEnabled = false; - SpellCheckServiceEnabled = false; - AdvancedProtectionAllowed = false; - }; - }; -}