Compare commits

...

2 Commits

Author SHA1 Message Date
Nathan McCarty 2171e9bbba
Initial universe setup 2023-08-05 13:37:03 -04:00
Nathan McCarty a82dd9710b
Add Orcaslicer 2023-08-05 13:07:37 -04:00
6 changed files with 129 additions and 14 deletions

View File

@ -52,3 +52,7 @@ creation_rules:
- age: - age:
- *nathan - *nathan
- *tounge - *tounge
- path_regex: secrets/universe
key_groups:
- age:
- *nathan

View File

@ -159,6 +159,12 @@
extraModules = [ ./machines/tounge/configuration.nix ]; extraModules = [ ./machines/tounge/configuration.nix ];
}; };
universe = makeNixosSystem {
system = "aarch64-linux";
hostName = "universe";
extraModules = [ ./machines/tounge/universe.nix ];
};
perception = makeNixosSystem { perception = makeNixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
hostName = "perception"; hostName = "perception";

View File

@ -2,19 +2,34 @@
let unstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}"; let unstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}";
in { in {
config = lib.mkIf config.nathan.programs.image-editing { config = lib.mkIf config.nathan.programs.image-editing {
home.packages = with pkgs; [ home.packages = with pkgs;
# RawTherapee for raw editing let
unstable.rawtherapee orcaAppimage = pkgs.fetchzip {
# Gimp for complex editing url =
gimp-with-plugins "https://github.com/SoftFever/OrcaSlicer/releases/download/v1.6.4-beta/OrcaSlicer_V1.6.4-beta_Linux.zip";
# Krita for drawing sha256 = "sha256-e9CbLBnWC2RuLM8CflKgA45svczS1yh8Mp6WUynS1BY=";
unstable.krita };
# Xournal for recording notes orcaSlicer = appimageTools.wrapType2 {
xournalpp name = "OrcaSlicer";
# Pinta for basic image editing src = "${orcaAppimage}/OrcaSlicer_ubu64.AppImage";
unstable.pinta extraPkgs = pkgs: with pkgs; [ webkitgtk ];
# Command line tools for image conversion and handling };
imagemagickBig in [
]; # RawTherapee for raw editing
unstable.rawtherapee
# Gimp for complex editing
gimp-with-plugins
# Krita for drawing
unstable.krita
# Xournal for recording notes
xournalpp
# Pinta for basic image editing
unstable.pinta
# Command line tools for image conversion and handling
imagemagickBig
## 3d printing
# Orca Slicer
orcaSlicer
];
}; };
} }

View File

@ -0,0 +1,67 @@
{ config, lib, pkgs, inputs, ... }:
{
# Setup hardware
imports = [ inputs.nixos-hardware.nixosModules.raspberry-pi-4 ];
fileSystems = {
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
options = [ "noatime" ];
};
};
# Sops setup for this machine
sops.secrets = {
# "borg-ssh-key" = {
# sopsFile = ../../secrets/tounge/borg.yaml;
# format = "yaml";
# };
# "borg-password" = {
# sopsFile = ../../secrets/tounge/borg.yaml;
# format = "yaml";
# };
"wifi" = {
sopsFile = ../../secrets/universe/wifi;
formate = "binary";
};
};
# Setup system configuration
nathan = {
services = {
borg = {
enable = false;
extraExcludes = [ "/var/lib/docker" "/var/log" ];
passwordFile = config.sops.secrets."borg-password".path;
sshKey = config.sops.secrets."borg-ssh-key".path;
};
};
config = {
setupGrub = false;
userUid = "1001";
nix = {
autoUpdate = true;
autoGC = true;
};
harden = false;
virtualization = { docker = true; };
};
};
# Configure networking
networking = {
domain = "mccarty.io";
useDHCP = true;
wireless = {
environmentFile = config.sops.secrets."wifi".path;
"Apollo" = { psk = "@PSK_WIFI@"; };
};
# Open ports in firewall
firewall = {
allowedTCPPorts = [ ];
allowedUDPPorts = [ ];
};
};
# Setup home manager
home-manager.users.nathan = import ./home.nix;
}

View File

@ -0,0 +1,3 @@
{ config, lib, pkgs, ... }:
{ }

20
secrets/universe/wifi Normal file
View File

@ -0,0 +1,20 @@
{
"data": "ENC[AES256_GCM,data:3WmVihQjC4qhLb92jgGx0Bw+CsAZXzkiJ3LDAhc=,iv:ncxPR7HwiuGUsD8nJIuYy9Y/8yZYIwn/68NL4mYpDzA=,tag:sTDgX6nYxTdobePAAjwnEQ==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1ud80054jwf6ff7xx65ta6g7qxx2flc24r5gyyfjz43kvppjutqyskr2qm2",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPa3V6UURQODB3QU9ad2RR\nTElJd0xxb3BMbEJyRWVyb0RjbUw4QUZkVHhRCjA4ZjA1Q3lvM3dVdDJ0NjMxOVpr\nNkNQSmNnSHBiNVc0M0FYUXBMVXArZG8KLS0tIERrRlV6QzFabmVrUzVMdG1ob1NB\nc1dyV0s5c09hWmdhcW9xM1ltSTVBNTAK+MxyzBmwT19bMVRTl0/0y1/RIQFOFwJD\nExKflegKylhEIlSmUub1PP7qf2+AVi8mzEUufpr19hdWOY0U8h0kBA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2023-08-05T17:26:29Z",
"mac": "ENC[AES256_GCM,data:cBvQSQG17NmUZE+Yoh81w2Mn9OpJig93pLM6JcixY1mR9478K3KuXMSc4GzkGMlslWC4LoyZWd9BEGkY6WqRpBD+qkRmwFt3rTy6YB/mZZ2sPfpP3p4VA6Z4Wb5mHHfIvD4G/HHhIRo8wt0IpSQrwCUNwKrdbPApQhYEh5qnzig=,iv:gELvtkE18TMJeg1nS9wamNdutUeKKgI+ub15s9eHqvo=,tag:guO4p6AcE5BsO3Oyi7sB4g==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.7.3"
}
}