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,
|
nixos-wsl,
|
||||||
intake,
|
intake,
|
||||||
intake-sources,
|
intake-sources,
|
||||||
}: {
|
}@inputs: {
|
||||||
nixosModules.beatific = import ./modules/beatific.nix;
|
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 {
|
backyard = nixpkgs-2311.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
self.nixosModules.beatific
|
self.nixosModules.beatific
|
||||||
|
(pinNixpkgs nixpkgs-2311)
|
||||||
./machine/backyard
|
./machine/backyard
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -45,6 +50,7 @@
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
self.nixosModules.beatific
|
self.nixosModules.beatific
|
||||||
|
(pinNixpkgs nixpkgs-2305)
|
||||||
./machine/catacomb
|
./machine/catacomb
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -54,6 +60,7 @@
|
||||||
self.nixosModules.beatific
|
self.nixosModules.beatific
|
||||||
intake.nixosModules.default
|
intake.nixosModules.default
|
||||||
intake-sources.nixosModules.default
|
intake-sources.nixosModules.default
|
||||||
|
(pinNixpkgs nixpkgs-2305)
|
||||||
./machine/empyrean
|
./machine/empyrean
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -61,6 +68,7 @@
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
self.nixosModules.beatific
|
self.nixosModules.beatific
|
||||||
|
(pinNixpkgs nixpkgs-2311)
|
||||||
({ ... }: {
|
({ ... }: {
|
||||||
environment.systemPackages = [ nixpkgs-2311.legacyPackages."i686-linux".gperftools ];
|
environment.systemPackages = [ nixpkgs-2311.legacyPackages."i686-linux".gperftools ];
|
||||||
})
|
})
|
||||||
|
@ -78,6 +86,7 @@
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
self.nixosModules.beatific
|
self.nixosModules.beatific
|
||||||
|
(pinNixpkgs nixpkgs-2305)
|
||||||
./machine/unfolder
|
./machine/unfolder
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
beatific.hostName = "catacomb";
|
beatific.hostName = "catacomb";
|
||||||
beatific.defaults.tvbSync = false;
|
beatific.defaults.tvbSync = true;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
|
@ -26,17 +26,16 @@
|
||||||
swapDevices = [ { device = "/swap"; size = 1024; } ];
|
swapDevices = [ { device = "/swap"; size = 1024; } ];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
tmux man-pages pv lsof
|
exiftool # media metadata tool
|
||||||
usbutils
|
lsof # list open files
|
||||||
hdparm sdparm smartmontools gptfdisk gnufdisk
|
mkpasswd # used for setting SMB passwords, I think?
|
||||||
dosfstools
|
samba # provides smbpasswd, mostly
|
||||||
mkpasswd samba
|
smartmontools # provides smartctl
|
||||||
rclone gnupg
|
usbutils # provides lsusb
|
||||||
exiftool
|
|
||||||
];
|
];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostId = "beeeeee5";
|
hostId = "beeeeee5"; # this must be consistent for ZFS
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [ 139 445 ];
|
allowedTCPPorts = [ 139 445 ];
|
||||||
|
|
|
@ -50,6 +50,7 @@
|
||||||
hardware.opengl.enable = true;
|
hardware.opengl.enable = true;
|
||||||
hardware.opengl.driSupport32Bit = true;
|
hardware.opengl.driSupport32Bit = true;
|
||||||
|
|
||||||
|
beatific.extraPrograms = true;
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
firefox
|
firefox
|
||||||
libreoffice
|
libreoffice
|
||||||
|
|
|
@ -26,6 +26,12 @@ in {
|
||||||
default = false;
|
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:
|
# Groups of related defaults can be disabled by flipping off the switches here:
|
||||||
# beatific.defaults.${category} = false;
|
# beatific.defaults.${category} = false;
|
||||||
# They default to true because the point is to do these things by default.
|
# 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";
|
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 {
|
(mkIf cfg.defaults.ssh {
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
services.openssh.banner = let
|
services.openssh.banner = let
|
||||||
|
@ -180,7 +194,10 @@ in {
|
||||||
# system services so as not to require login to sync.
|
# system services so as not to require login to sync.
|
||||||
services.syncthing = {
|
services.syncthing = {
|
||||||
enable = true;
|
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;
|
openDefaultPorts = true;
|
||||||
user = "tvb";
|
user = "tvb";
|
||||||
group = "tvb";
|
group = "tvb";
|
||||||
|
|
Loading…
Reference in New Issue