1
1
Fork 0

Compare commits

...

6 Commits

Author SHA1 Message Date
Tim Van Baak 48f36f5d9e catacomb: enable syncthing 2024-01-04 19:57:13 +00:00
Tim Van Baak 17b87e606c catacomb: comment on networking.hostId 2024-01-04 19:57:13 +00:00
Tim Van Baak b4a32f04b5 catacomb: reorganize and pare down packages 2024-01-04 19:57:13 +00:00
Tim Van Baak e71acea928 beatific: Force syncthing config and database to .config 2024-01-04 19:57:08 +00:00
Tim Van Baak d47d87d91f beatific: Pin registry nixpkgs to flake input 2024-01-04 19:57:01 +00:00
Tim Van Baak 0fce9564f5 beatific: Add beatific.extraPrograms
This is partly a way to keep notes on useful software that I might otherwise forget about
2024-01-04 19:56:53 +00:00
4 changed files with 38 additions and 12 deletions

View File

@ -30,14 +30,19 @@
nixos-wsl,
intake,
intake-sources,
}: {
}@inputs: {
nixosModules.beatific = import ./modules/beatific.nix;
nixosConfigurations = {
nixosConfigurations = let
pinNixpkgs = nixpkgs: { ... }: {
nix.registry.nixpkgs.to = { type = "path"; path = nixpkgs; };
};
in {
backyard = nixpkgs-2311.lib.nixosSystem {
system = "x86_64-linux";
modules = [
self.nixosModules.beatific
(pinNixpkgs nixpkgs-2311)
./machine/backyard
];
};
@ -45,6 +50,7 @@
system = "aarch64-linux";
modules = [
self.nixosModules.beatific
(pinNixpkgs nixpkgs-2305)
./machine/catacomb
];
};
@ -54,6 +60,7 @@
self.nixosModules.beatific
intake.nixosModules.default
intake-sources.nixosModules.default
(pinNixpkgs nixpkgs-2305)
./machine/empyrean
];
};
@ -61,6 +68,7 @@
system = "x86_64-linux";
modules = [
self.nixosModules.beatific
(pinNixpkgs nixpkgs-2311)
({ ... }: {
environment.systemPackages = [ nixpkgs-2311.legacyPackages."i686-linux".gperftools ];
})
@ -78,6 +86,7 @@
system = "x86_64-linux";
modules = [
self.nixosModules.beatific
(pinNixpkgs nixpkgs-2305)
./machine/unfolder
];
};

View File

@ -7,7 +7,7 @@
];
beatific.hostName = "catacomb";
beatific.defaults.tvbSync = false;
beatific.defaults.tvbSync = true;
boot = {
loader = {
@ -26,17 +26,16 @@
swapDevices = [ { device = "/swap"; size = 1024; } ];
environment.systemPackages = with pkgs; [
tmux man-pages pv lsof
usbutils
hdparm sdparm smartmontools gptfdisk gnufdisk
dosfstools
mkpasswd samba
rclone gnupg
exiftool
exiftool # media metadata tool
lsof # list open files
mkpasswd # used for setting SMB passwords, I think?
samba # provides smbpasswd, mostly
smartmontools # provides smartctl
usbutils # provides lsusb
];
networking = {
hostId = "beeeeee5";
hostId = "beeeeee5"; # this must be consistent for ZFS
firewall = {
enable = true;
allowedTCPPorts = [ 139 445 ];

View File

@ -50,6 +50,7 @@
hardware.opengl.enable = true;
hardware.opengl.driSupport32Bit = true;
beatific.extraPrograms = true;
environment.systemPackages = with pkgs; [
firefox
libreoffice

View File

@ -26,6 +26,12 @@ in {
default = false;
};
extraPrograms = mkOption {
type = types.bool;
description = "Additional default programs";
default = false;
};
# Groups of related defaults can be disabled by flipping off the switches here:
# beatific.defaults.${category} = false;
# They default to true because the point is to do these things by default.
@ -107,6 +113,14 @@ in {
environment.variables.EDITOR = mkOverride 999 "vim";
})
(mkIf cfg.extraPrograms {
environment.systemPackages = with pkgs; [
calibre # provides ebook-convert
imagemagick # image convertion cli
tesseract # OCR engine
];
})
(mkIf cfg.defaults.ssh {
services.openssh.enable = true;
services.openssh.banner = let
@ -180,7 +194,10 @@ in {
# system services so as not to require login to sync.
services.syncthing = {
enable = true;
dataDir = "/home/tvb";
configDir = "/home/tvb/.config/syncthing";
# this doesn't prevent syncthing from putting sync points in other locations, it's just a default
# normally it would make sense to put it at ~ but see https://github.com/NixOS/nixpkgs/pull/273693
dataDir = "/home/tvb/.config/syncthing";
openDefaultPorts = true;
user = "tvb";
group = "tvb";