From ad486191bc0c8aa919c357d437951c0a42d5718d Mon Sep 17 00:00:00 2001 From: Grigory Shipunov Date: Sun, 10 Jul 2022 03:00:29 +0200 Subject: [PATCH] flake update, nixpkgs-fmt, add extra redirect to dd-ix.net --- flake.lock | 40 ++++------ flake.nix | 155 ++++++++++++++++++++++---------------- hosts/cirrus/ddix.nix | 9 +++ modules/basic-tools.nix | 8 +- modules/binary-caches.nix | 16 +--- modules/graphical.nix | 3 +- 6 files changed, 125 insertions(+), 106 deletions(-) diff --git a/flake.lock b/flake.lock index af94598..46a9dcb 100644 --- a/flake.lock +++ b/flake.lock @@ -38,15 +38,17 @@ }, "home-manager": { "inputs": { - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs-unstable" + ], "utils": "utils" }, "locked": { - "lastModified": 1657377017, - "narHash": "sha256-sqzfL1FV/LBG8BfcH8tYiIox0SDYJEEFiWCoKOgRQ0g=", + "lastModified": 1657396086, + "narHash": "sha256-4cQ6hEuewWoFkTBlu211JGxPQQ1Zyli8oEq1cu7cVeA=", "owner": "nix-community", "repo": "home-manager", - "rev": "8d5b07fc83d579cd196125e698454b4eb4850646", + "rev": "c645cc9f82c7753450d1fa4d1bc73b64960a9d7a", "type": "github" }, "original": { @@ -78,16 +80,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1654230545, - "narHash": "sha256-8Vlwf0x8ow6pPOK2a04bT+pxIeRnM1+O0Xv9/CuDzRs=", - "owner": "nixos", + "lastModified": 1657296039, + "narHash": "sha256-Ghh39+aS+pw5sTP/ZO8VIKE6sBhMadDaQZtf+3yu4Vc=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "236cc2971ac72acd90f0ae3a797f9f83098b17ec", + "rev": "71d7a4c037dc4f3e98d5c4a81b941933cf5bf675", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixos-22.05", "repo": "nixpkgs", "type": "github" } @@ -124,28 +126,12 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1657296039, - "narHash": "sha256-Ghh39+aS+pw5sTP/ZO8VIKE6sBhMadDaQZtf+3yu4Vc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "71d7a4c037dc4f3e98d5c4a81b941933cf5bf675", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.05", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "fenix": "fenix", "home-manager": "home-manager", "microvm": "microvm", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "sops-nix": "sops-nix" } diff --git a/flake.nix b/flake.nix index 2d71e51..15bd5c9 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,10 @@ inputs = { nixpkgs-unstable.url = github:NixOS/nixpkgs/nixos-unstable; nixpkgs.url = github:NixOS/nixpkgs/nixos-22.05; + home-manager = { + url = github:nix-community/home-manager; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; sops-nix = { url = github:Mic92/sops-nix; inputs.nixpkgs.follows = "nixpkgs"; @@ -10,74 +14,97 @@ url = github:astro/microvm.nix; inputs.nixpkgs.follows = "nixpkgs"; }; - rust-overlay = { - url = github:oxalica/rust-overlay; + fenix = { + url = github:nix-community/fenix; + inputs.nixpkgs.follows = "nixpkgs-unstable"; }; }; - outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, sops-nix, microvm, rust-overlay, ... }: { - nixosConfigurations = { - microwave = nixpkgs-unstable.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - sops-nix.nixosModules.sops - ./hosts/microwave/configuration.nix - ./hosts/microwave/secrets.nix - ./hosts/microwave/hardware-configuration.nix - ./modules/graphical.nix - ./modules/basic-tools.nix - ./modules/gnupg.nix - ./modules/hw-accel-intel.nix - ./modules/radio.nix - ./modules/tlp.nix - ./modules/wireguard.nix - ./modules/binary-caches.nix - ./modules/science.nix - ./modules/mail.nix - ./modules/emacs.nix - ./modules/virtualization.nix - ({ pkgs, ... }: { - nixpkgs.overlays = [ rust-overlay.overlays.default ]; - environment.systemPackages = with pkgs; [ - rust-bin.stable.latest.default - gcc - ]; - }) - ]; - }; - cirrus = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - sops-nix.nixosModules.sops - ./hosts/cirrus - ./modules/basic-tools.nix - ]; - }; - dishwasher = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - sops-nix.nixosModules.sops - microvm.nixosModules.host - ./hosts/dishwasher - ./modules/basic-tools.nix - ./modules/binary-caches.nix + outputs = + inputs@{ self + , nixpkgs + , nixpkgs-unstable + , sops-nix + , microvm + , fenix + , home-manager + , ... + }: + { + nixosConfigurations = { + microwave = nixpkgs-unstable.lib.nixosSystem { + specialArgs = { inherit inputs; }; + system = "x86_64-linux"; + modules = [ + sops-nix.nixosModules.sops + home-manager.nixosModules.home-manager + ./hosts/microwave/configuration.nix + ./hosts/microwave/secrets.nix + ./hosts/microwave/hardware-configuration.nix + ./modules/graphical.nix + ./modules/basic-tools.nix + ./modules/gnupg.nix + ./modules/hw-accel-intel.nix + ./modules/radio.nix + ./modules/tlp.nix + ./modules/wireguard.nix + ./modules/binary-caches.nix + ./modules/science.nix + ./modules/mail.nix + ./modules/emacs.nix + ./modules/virtualization.nix + ({ pkgs, ... }: { + services.throttled.enable = true; + services.influxdb.enable = true; + }) + ({ pkgs, ... }: { + nixpkgs.overlays = [ fenix.overlay ]; + environment.systemPackages = with pkgs; [ + (fenix.packages."x86_64-linux".complete.withComponents [ + "cargo" + "clippy" + "rust-src" + "rustc" + "rustfmt" + ]) + rust-analyzer-nightly + ]; + }) + ]; + }; + cirrus = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + sops-nix.nixosModules.sops + ./hosts/cirrus + ./modules/basic-tools.nix + ]; + }; + dishwasher = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + sops-nix.nixosModules.sops + microvm.nixosModules.host + ./hosts/dishwasher + ./modules/basic-tools.nix + ./modules/binary-caches.nix - { - microvm.vms.nextcloud = { - flake = self; - updateFlake = "git+file:///etc/nixos"; - }; - } - ]; - }; - nextcloud = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - sops-nix.nixosModules.sops - microvm.nixosModules.microvm - ./microvms/nextcloud - ]; + { + microvm.vms.nextcloud = { + flake = self; + updateFlake = "git+file:///etc/nixos"; + }; + } + ]; + }; + nextcloud = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + sops-nix.nixosModules.sops + microvm.nixosModules.microvm + ./microvms/nextcloud + ]; + }; }; }; - }; } diff --git a/hosts/cirrus/ddix.nix b/hosts/cirrus/ddix.nix index 7ce58c2..b33e096 100644 --- a/hosts/cirrus/ddix.nix +++ b/hosts/cirrus/ddix.nix @@ -9,5 +9,14 @@ ''; }; }; + "www.dd-ix.net" = { + enableACME = true; + forceSSL = true; + locations."/" = { + extraConfig = '' + return 307 https://c3d2.de; + ''; + }; + }; }; } diff --git a/modules/basic-tools.nix b/modules/basic-tools.nix index 4e8cf58..9783c8e 100644 --- a/modules/basic-tools.nix +++ b/modules/basic-tools.nix @@ -3,7 +3,7 @@ { environment.systemPackages = with pkgs; [ bat - exa + lsd fd file fzf @@ -27,7 +27,6 @@ ]; nix = { - package = pkgs.nixUnstable; autoOptimiseStore = true; extraOptions = '' experimental-features = nix-command flakes @@ -51,6 +50,11 @@ }; environment.shellAliases = { + ls = "lsd"; + l = "lsd -l"; + la = "lsd -la"; + ll = "lsd -lah"; + lt = "lsd --tree"; vim = "nvim"; vi = "nvim"; vf = "$EDITOR $(fzf)"; diff --git a/modules/binary-caches.nix b/modules/binary-caches.nix index 373e653..5fd15d9 100644 --- a/modules/binary-caches.nix +++ b/modules/binary-caches.nix @@ -4,17 +4,6 @@ builders-use-substitutes = true ''; - registry.microvm = { - from = { - type = "indirect"; - id = "microvm"; - }; - to = { - type = "github"; - owner = "astro"; - repo = "microvm.nix"; - }; - }; settings = { trusted-users = [ "grue" @@ -24,16 +13,19 @@ "https://microvm.cachix.org" "https://nix-serve.hq.c3d2.de" "https://dump-dvb.cachix.org" + "https://nix-community.cachix.org" ]; trusted-substituters = [ "https://microvm.cachix.org" - "https://nix-serve.hq.c3d2.de" + "https://hydra.hq.c3d2.de" "https://dump-dvb.cachix.org" + "https://nix-community.cachix.org" ]; trusted-public-keys = [ "microvm.cachix.org-1:oXnBc6hRE3eX5rSYdRyMYXnfzcCxC7yKPTbZXALsqys=" "nix-serve.hq.c3d2.de:KZRGGnwOYzys6pxgM8jlur36RmkJQ/y8y62e52fj1ps=" "dump-dvb.cachix.org-1:+Dq7gqpQG4YlLA2X3xJsG1v3BrlUGGpVtUKWk0dTyUU=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; }; diff --git a/modules/graphical.nix b/modules/graphical.nix index f159797..c1eaf80 100644 --- a/modules/graphical.nix +++ b/modules/graphical.nix @@ -25,6 +25,8 @@ #on the desktop, we need nice fonts ^^ fonts.fonts = with pkgs; [ + monoid + (nerdfonts.override { fonts = [ "Monoid" ]; }) dejavu_fonts julia-mono uw-ttyp0 @@ -134,7 +136,6 @@ plugins = [ pkgs.evolution-ews ]; }; - # required to autounlock gnome-keyring services.xserver = { enable = true;