mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-30 22:57:55 +00:00
Update various files
This commit is contained in:
parent
84d0062ca8
commit
a6a4b2b1e1
@ -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.
|
||||
|
13
flake.nix
13
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
})
|
||||
|
@ -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 =
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ pkgs ? import <nixpkgs> { } }:
|
||||
|
||||
pkgs.mkShell {
|
||||
packages = with pkgs; [ git git-crypt nixfmt rnix-lsp ];
|
||||
packages = with pkgs; [ asciidoctor git git-crypt nixfmt rnix-lsp ];
|
||||
}
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user