diff --git a/README.adoc b/README.adoc index 3ccdd516..1eb895da 100644 --- a/README.adoc +++ b/README.adoc @@ -40,18 +40,19 @@ It supports the default list of systems as defined from link:https://github.com/ * `devShells` from link:./shells/[my custom environments]. Similar to `homeManagerConfigurations`, you can easily use it outside of NixOS. +* `homeManagerConfigurations` contains my various link:https://github.com/nix-community/home-manager[home-manager] configurations from link:./users/home-manager/[`./users/home-manager/`]. +The neat thing about it is you can easily install it in a non-NixOS Linux distro. + * `nixosConfigurations` which is where you can install my various NixOS configurations directly (e.g., `nixos-install --flake MY_FLAKE_URL#HOST`). This mainly uses the link:./hosts/[hosts configuration]. -* `homeManagerConfigurations` contains my various link:https://github.com/nix-community/home-manager[home-manager] configurations from link:./users/home-manager/[`./users/home-manager/`]. -The neat thing about it is you can easily install it in a non-NixOS Linux distro. +* `homeManagerModules` are where my link:./modules/home-manager[custom home-manager modules] to be exported. +footnote:[This is more useful than my NixOS modules.] * `nixosModules` are composed from NixOS modules defined in link:./modules/nixos[`./modules/nixos`]. It can be used as additional modules for your own NixOS config in case you want to use mine for whatever reason. footnote:[I don't know why did I put it there but eh...] -* `homeManagerModules` are where my link:./modules/home-manager[custom home-manager modules] to be exported. -footnote:[This is more useful than my NixOS modules.] * `templates` which contains my templates. Though, these are just templates mostly for my own purposes so it is not as useful as the other outputs. diff --git a/flake.nix b/flake.nix index 74ddda3f..87fafb31 100644 --- a/flake.nix +++ b/flake.nix @@ -63,7 +63,7 @@ forAllSystems = f: nixpkgs.lib.genAttrs inputs.flake-utils.lib.defaultSystems - (system: f system); + (system: f system); libExtended = nixpkgs.lib.extend (final: prev: (import ./lib { lib = final; }) // { @@ -142,9 +142,16 @@ # Let home-manager to manage itself. programs.home-manager.enable = true; + + manual = { + html.enable = true; + json.enable = true; + manpages.enable = true; + }; }]; }; - in { + in + { # Exposes only my library with the custom functions to make it easier to # include in other flakes. lib = import ./lib { lib = nixpkgs.lib; }; @@ -188,7 +195,6 @@ import ./shells { pkgs = import nixpkgs { inherit system overlays; }; }); - }; # It is my go-to so it is the default template. defaultTemplate = self.templates.basic-devshell; @@ -200,4 +206,5 @@ description = "Basic development shell template"; }; }; + }; } diff --git a/hosts/README.adoc b/hosts/README.adoc index cf164844..a3920543 100644 --- a/hosts/README.adoc +++ b/hosts/README.adoc @@ -37,5 +37,5 @@ imports = [ # Your modules ] ++ (lib.attrValues (lib.getUsers "nixos" [ "foo-dogsquared" "polski" ])); ---- -* link:../modules/users.nix[`modules.users.users.${user}`] which is my implementation for managing users from link:../users/home-manager/[`../users/home-manager/`] — e.g., `modules.users.users.foo-dogsquared = {}`. +* link:../modules/nixos/profiles/users.nix[`modules.users.users.${user}`] which is my implementation for managing users from link:../users/home-manager/[`../users/home-manager/`] — e.g., `modules.users.users.foo-dogsquared = {}`. This is integrating my home-manager users to map into NixOS users. diff --git a/modules/nixos/hardware-setup/backup-archive.nix b/modules/nixos/hardware-setup/backup-archive.nix index 6fb3af3e..6374d621 100644 --- a/modules/nixos/hardware-setup/backup-archive.nix +++ b/modules/nixos/hardware-setup/backup-archive.nix @@ -35,7 +35,7 @@ in { }; # This uses the custom borgmatic NixOS service. - services.borgmatic.jobs.external-storage = { + services.borgmatic-fds.jobs.external-storage = { startAt = "04/6:00:00"; configPath = config.age.secrets.external-backup-borgmatic-settings.path; }; diff --git a/modules/nixos/profiles/dev.nix b/modules/nixos/profiles/dev.nix index d99a84f6..c01e1433 100644 --- a/modules/nixos/profiles/dev.nix +++ b/modules/nixos/profiles/dev.nix @@ -70,6 +70,9 @@ in { # !!! Please add your user to the "libvirtd" group. (lib.mkIf cfg.virtualization.enable { + # virt-manager as my frontend. + environment.systemPackages = [ pkgs.virt-manager ]; + # Enable podman just as my main container runtime or something. virtualisation.podman = { enable = true; @@ -79,6 +82,7 @@ in { # Enable libvirt for muh qemu. virtualisation.libvirtd = { enable = true; + qemu.package = pkgs.qemu_full; qemu.ovmf.enable = true; }; }) diff --git a/modules/nixos/services/borgmatic.nix b/modules/nixos/services/borgmatic.nix index ee5c4cc7..372b107d 100644 --- a/modules/nixos/services/borgmatic.nix +++ b/modules/nixos/services/borgmatic.nix @@ -2,7 +2,7 @@ { config, options, lib, pkgs, ... }: let - cfg = config.services.borgmatic; + cfg = config.services.borgmatic-fds; jobOption = { name, config, ... }: { options = { @@ -27,7 +27,7 @@ let }; }; in { - options.services.borgmatic = { + options.services.borgmatic-fds = { jobs = lib.mkOption { type = with lib.types; attrsOf (submodule jobOption); description = diff --git a/shell.nix b/shell.nix index 4d5dc305..067d3c14 100644 --- a/shell.nix +++ b/shell.nix @@ -1,5 +1,5 @@ { pkgs ? import { } }: pkgs.mkShell { - packages = with pkgs; [ git git-crypt nixfmt rnix-lsp ]; + packages = with pkgs; [ asciidoctor git git-crypt nixfmt rnix-lsp ]; } diff --git a/shells/gnome.nix b/shells/gnome.nix index 5e7c3514..c70692e4 100644 --- a/shells/gnome.nix +++ b/shells/gnome.nix @@ -3,7 +3,7 @@ # projects. # # These include toolkits for C, Rust, and GNOME JavaScript. -{ mkShell, meson, ninja, gtk4, libadwaita, gjs, pkg-config, rustPlatform, nodePackages }: +{ mkShell, cmake, meson, ninja, gtk4, libadwaita, gjs, pkg-config, rustPlatform, nodePackages }: mkShell { packages = [ diff --git a/shells/gnu.nix b/shells/gnu.nix index 3dfd9acf..d794908f 100644 --- a/shells/gnu.nix +++ b/shells/gnu.nix @@ -4,14 +4,16 @@ # It's a good thing they have documented the full details in one of their # manuals at # https://www.gnu.org/software/automake/manual/html_node/GNU-Build-System.html -{ mkShell, lib, autoconf, autoconf-archive, automake, gnumake, gcc }: +{ mkShell, lib, autoconf, autoconf-archive, automake, gnumake, gcc, gettext, coreutils, pkg-config }: mkShell { packages = [ autoconf autoconf-archive automake - gnumake + coreutils + gettext gcc + pkg-config ]; }