Compare commits
6 Commits
8c1da2190c
...
48f36f5d9e
Author | SHA1 | Date |
---|---|---|
Tim Van Baak | 48f36f5d9e | |
Tim Van Baak | 17b87e606c | |
Tim Van Baak | b4a32f04b5 | |
Tim Van Baak | e71acea928 | |
Tim Van Baak | d47d87d91f | |
Tim Van Baak | 0fce9564f5 |
13
flake.nix
13
flake.nix
|
@ -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
|
||||
];
|
||||
};
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -50,6 +50,7 @@
|
|||
hardware.opengl.enable = true;
|
||||
hardware.opengl.driSupport32Bit = true;
|
||||
|
||||
beatific.extraPrograms = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
firefox
|
||||
libreoffice
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Reference in New Issue