From 9ea3df5e7ac5b9d28740432d3a371fc508d3a623 Mon Sep 17 00:00:00 2001 From: Nathan Date: Wed, 7 Jan 2026 10:38:29 -0600 Subject: [PATCH] first --- .sops.yaml | 33 +++++++++++++++++++ configuration.nix | 80 +++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 47 ++++++++++++++++++++++++++++ 3 files changed, 160 insertions(+) create mode 100644 .sops.yaml create mode 100644 configuration.nix create mode 100644 flake.nix diff --git a/.sops.yaml b/.sops.yaml new file mode 100644 index 0000000..0a2ab72 --- /dev/null +++ b/.sops.yaml @@ -0,0 +1,33 @@ +keys: + - &homebox age1640eg0pnmkruc89m5xguz0m8fek44fl4tzez6qwuzlz6kmapqewsp8esxd + - &laptop age1yqgyp2uxz4lzrc9f9ka0mfjl5fr6ahf8nf24nlmran2wulg6fpvq9hyp9q + - &android age12pnf36uqesjmy3e0lythfnpwam3zg5mv8m936fc4jphy4ces2fdqwn0s74 +creation_rules: + - path_regex: homebox/secrets.yaml$ + key_groups: + - age: + - *homebox + - path_regex: laptop/secrets.yaml$ + key_groups: + - age: + - *laptop + - path_regex: pi4/secrets.yaml$ + key_groups: + - age: + - *laptop + - path_regex: live/secrets.yaml$ + key_groups: + - age: + - *laptop + - path_regex: nathan/secrets.yaml$ + key_groups: + - age: + - *laptop + - *homebox + - *android + - path_regex: system-config/secrets.yaml$ + key_groups: + - age: + - *laptop + - *homebox + - *android diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..c342987 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,80 @@ +{ config, lib, pkgs, inputs, ... }: { + + options.sysconfig.remoteBuildClient = with lib; mkOption { + type = with types; bool; + default = false; + }; + + config = { + sysconfig.remoteBuildClient = true; + + home-manager = { + backupFileExtension = ".backup"; + useUserPackages = true; + useGlobalPkgs = true; + extraSpecialArgs = { inherit inputs; }; + sharedModules = [ + inputs.sops-nix.homeManagerModules.sops + inputs.home-manager-config + ]; + config = { config, lib, pkgs, ... }: { + imports = [ + inputs.olympus.homes.nathan + ]; + config = { + homeconfig = { + graphical = false; + minimal = true; + host = "android"; + scripts.enable = false; + }; + + home.username = "nathan"; + + home.homeDirectory = "/data/data/com.termux.nix/files/home"; + }; + }; + }; + + terminal.font = "${pkgs.fira-code}/share/fonts/truetype/FiraCode-VF.ttf"; + + user = { + userName = "nathan"; + uid = 10472; #update this for your device! + shell = "${pkgs.zsh}/bin/zsh"; + }; + + time.timeZone = "America/Chicago"; + + android-integration = { + xdg-open.enable = true; + + termux-open.enable = true; + termux-open-url.enable = true; + + termux-setup-storage.enable = true; + + termux-wake-lock.enable = true; + termux-wake-unlock.enable = true; + + am.enable = true; + }; + + system.stateVersion = "24.05"; + + environment = { + etcBackupExtension = ".backup"; + motd = ""; + }; + + nix = { + nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + extraOptions = '' + experimental-features = nix-command flakes + builders-use-substitutes = true + builders = ssh://builder x86_64-linux,aarch64-linux /run/secrets/remoteBuildKey 1 1 nixos-test,benchmark,big-parallel,kvm - - + ''; + }; + + }; +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..8966b38 --- /dev/null +++ b/flake.nix @@ -0,0 +1,47 @@ +{ + + description = "System Configuration"; + + inputs = { + + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; + + home-manager = { + url = "github:nix-community/home-manager/release-25.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nix-on-droid = { + url = "github:nix-community/nix-on-droid"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = "home-manager"; + }; + + olympus = { + url = "git+https://gitea.esotericbytes.com/Blunkall-Technologies/Olympus"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = "home-manager"; + }; + }; + + outputs = { self, nixpkgs, olympus, ... } @ inputs: let + host = "laptop"; + + in { + + nixOnDroidConfigurations.default = inputs.nix-on-droid.lib.nixOnDroidConfiguration { + pkgs = import nixpkgs { + system = "aarch64-linux"; + overlays = [ inputs.nix-on-droid.overlays.default ]; + }; + + modules = [ + ./configuration.nix + ]; + + extraSpecialArgs = { + inherit inputs; + }; + }; + }; +}