refactor(flake-parts): initial flake-parts configuration
This commit is contained in:
parent
8f67be9e68
commit
5603001d65
230 changed files with 380 additions and 717 deletions
|
|
@ -1,7 +0,0 @@
|
||||||
keys:
|
|
||||||
- &ooks age16ecqs0u4h4qvnp7nr2rdhd0d2qrw7x5kk60u473d6988a0amsass4d5a22
|
|
||||||
creation_rules:
|
|
||||||
- path_regex: secrets/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *ooks
|
|
||||||
737
flake.lock
generated
737
flake.lock
generated
File diff suppressed because it is too large
Load diff
237
flake.nix
237
flake.nix
|
|
@ -1,181 +1,104 @@
|
||||||
{
|
{
|
||||||
|
# ooknix
|
||||||
|
description = "a nix configuration written by an orangutan";
|
||||||
|
|
||||||
|
outputs = { flake-parts, nixpkgs, self, ... } @ inputs:
|
||||||
|
flake-parts.lib.mkFlake {inherit inputs;} ({withSystem, ...}: {
|
||||||
|
|
||||||
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./outputs/pkgs
|
||||||
|
];
|
||||||
|
|
||||||
|
flake = {
|
||||||
|
nixosConfigurations = import ./outputs/nixos {inherit self inputs nixpkgs;};
|
||||||
|
};
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
# External inputs we depend on
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
## TODO:
|
||||||
|
## look into nix-super
|
||||||
|
## IMPLEMENT SECRETS YOU APE (agenix looks best)
|
||||||
|
|
||||||
|
# unstable because why not
|
||||||
|
nixpkgs.url = "github:Nixos/nixpkgs/nixos-unstable";
|
||||||
|
nixpkgs-small.url = "github:Nixos/nixpkgs/nixos-unstable-small";
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
# contains more up-to-date wayland related packages
|
||||||
|
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
|
||||||
|
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
# split your flake into... parts?
|
||||||
|
flake-parts = {
|
||||||
|
url = "github:hercules-ci/flake-parts";
|
||||||
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# dotfile configuration
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# nix shell environment on android
|
||||||
nix-on-droid = {
|
nix-on-droid = {
|
||||||
url = "github:nix-community/nix-on-droid/release-23.11";
|
url = "github:nix-community/nix-on-droid/release-23.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.home-manager.follows = "home-manager";
|
inputs.home-manager.follows = "home-manager";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.url = "github:nixos/nixos-hardware";
|
# wrapper for nix rebuild
|
||||||
|
|
||||||
nix-colors.url = "github:misterio77/nix-colors";
|
|
||||||
|
|
||||||
ags.url = "github:Aylur/ags";
|
|
||||||
|
|
||||||
sops-nix = {
|
|
||||||
url = "github:Mic92/sops-nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nixvim = {
|
|
||||||
url = "github:nix-community/nixvim";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
firefox-addons = {
|
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
# schizofox = {
|
|
||||||
# url = "github:schizofox/schizofox";
|
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
# };
|
|
||||||
hyprwm-contrib = {
|
|
||||||
url = "github:hyprwm/contrib";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprland = {
|
|
||||||
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprland-plugins = {
|
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
|
||||||
inputs.hyprland.follows = "hyprland";
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprlock.url = "github:hyprwm/hyprlock";
|
|
||||||
|
|
||||||
xdg-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland";
|
|
||||||
|
|
||||||
hypridle = {
|
|
||||||
url = "github:hyprwm/hypridle";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
ooks-scripts = {
|
|
||||||
url = "github:ooks-io/scripts";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprpaper.url = "github:hyprwm/hyprpaper";
|
|
||||||
|
|
||||||
helix = {
|
|
||||||
url = "github:helix-editor/helix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nh = {
|
nh = {
|
||||||
url = "github:viperML/nh";
|
url = "github:viperML/nh";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
anyrun = {
|
# nix language server that berates me for my mistakes
|
||||||
url = "github:Kirottu/anyrun";
|
nil = {
|
||||||
|
url = "github:oxalica/nil";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs-small";
|
||||||
|
};
|
||||||
|
|
||||||
|
# colorschemes library
|
||||||
|
nix-colors.url = "github:misterio77/nix-colors";
|
||||||
|
|
||||||
|
|
||||||
|
# hyprland "ecosystem". hyprDE perhaps?
|
||||||
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
|
hyprlock.url = "github:hyprwm/hyprlock";
|
||||||
|
hypridle.url = "github:hyprwm/hypridle";
|
||||||
|
hyprpaper.url = "github:hyprwm/hyprpaper";
|
||||||
|
hyprland-contrib.url = "github:hyprwm/contrib";
|
||||||
|
xdg-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland";
|
||||||
|
hyprland-plugins = {
|
||||||
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
|
inputs.hyprland.follows = "hyprland";
|
||||||
|
};
|
||||||
|
|
||||||
|
# helix because noun -> verb helps scratches my ape brain in the right spot
|
||||||
|
helix = {
|
||||||
|
url = "github:helix-editor/helix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs-small";
|
||||||
|
};
|
||||||
|
|
||||||
|
# packaged firefox addons
|
||||||
|
firefox-addons = {
|
||||||
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# zellij status bar
|
||||||
zjstatus.url = "github:dj95/zjstatus";
|
zjstatus.url = "github:dj95/zjstatus";
|
||||||
|
|
||||||
nixarr = {
|
# media server module for hosting my legally purchased linux isos
|
||||||
url = "github:rasmus-kirk/nixarr";
|
nixarr.url = "github:rasmus-kirk/nixarr";
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs-wayland = {
|
# personal scripts repo
|
||||||
url = "github:nix-community/nixpkgs-wayland";
|
ooks-scripts.url = "github:ooks-io/scripts";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, nix-on-droid, ... }@inputs:
|
|
||||||
let
|
|
||||||
inherit (self) outputs;
|
|
||||||
lib = nixpkgs.lib // home-manager.lib;
|
|
||||||
systems = [ "x86_64-linux" "aarch64-linux" ];
|
|
||||||
forEachSystem = f: lib.genAttrs systems (sys: f pkgsFor.${sys});
|
|
||||||
pkgsFor = nixpkgs.legacyPackages;
|
|
||||||
|
|
||||||
hm = inputs.home-manager.nixosModules.home-manager;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
inherit lib;
|
|
||||||
|
|
||||||
overlays = import ./overlays { inherit inputs outputs; };
|
|
||||||
|
|
||||||
packages = forEachSystem (pkgs: {
|
|
||||||
live-buds-cli = pkgs.callPackage ./pkgs/live-buds-cli { };
|
|
||||||
});
|
|
||||||
|
|
||||||
devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; });
|
|
||||||
formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt);
|
|
||||||
|
|
||||||
nixosConfigurations = {
|
|
||||||
# T480s
|
|
||||||
ookst480s = lib.nixosSystem {
|
|
||||||
modules = [ ./system/hosts/ookst480s ];
|
|
||||||
specialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
# Main Desktop
|
|
||||||
ooksdesk = lib.nixosSystem {
|
|
||||||
modules = [
|
|
||||||
./system/hosts/ooksdesk
|
|
||||||
hm
|
|
||||||
];
|
|
||||||
specialArgs = { inherit inputs outputs self; };
|
|
||||||
};
|
|
||||||
# GPD Micro-PC
|
|
||||||
ooksmicro = lib.nixosSystem {
|
|
||||||
modules = [ ./system/hosts/ooksmicro ];
|
|
||||||
specialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
# Media Server/Alternative desktop
|
|
||||||
ooksmedia = lib.nixosSystem {
|
|
||||||
modules = [ ./system/hosts/ooksmedia ];
|
|
||||||
specialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
homeConfigurations = {
|
|
||||||
# T480s
|
|
||||||
"ooks@ookst480s" = lib.homeManagerConfiguration {
|
|
||||||
modules = [ ./home/user/ooks/ookst480s ];
|
|
||||||
pkgs = pkgsFor.x86_64-linux;
|
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
# Main Desktop
|
|
||||||
"ooks@ooksdesk" = lib.homeManagerConfiguration {
|
|
||||||
modules = [ ./home/user/ooks/ooksdesk ];
|
|
||||||
pkgs = pkgsFor.x86_64-linux;
|
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
# GPD Micro-PC
|
|
||||||
"ooks@ooksmicro" = lib.homeManagerConfiguration {
|
|
||||||
modules = [ ./home/user/ooks/ooksmicro ];
|
|
||||||
pkgs = pkgsFor.x86_64-linux;
|
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
# Media Server/Alternative desktop
|
|
||||||
"ooks@ooksmedia" = lib.homeManagerConfiguration {
|
|
||||||
modules = [ ./home/user/ooks/ooksmedia ];
|
|
||||||
pkgs = pkgsFor.x86_64-linux;
|
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
|
|
||||||
modules = [ ./system/hosts/ooksphone ];
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
system = "aarch64-linux";
|
|
||||||
};
|
|
||||||
system = "aarch64-linux";
|
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{ lib, config, inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.homeModules.sops;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
|
||||||
];
|
|
||||||
options.homeModules.sops.enable = lib.mkEnableOption "Enable sops";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = [ pkgs.sops ];
|
|
||||||
sops = {
|
|
||||||
age.keyFile = "/home/ooks/.config/sops/age/keys.txt";
|
|
||||||
defaultSopsFile = ./secrets.yaml;
|
|
||||||
|
|
||||||
secrets = {
|
|
||||||
spotifyClientId = { };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
spotifyClientId: ENC[AES256_GCM,data:T9OJK/xEr87HdeOKadpIY1Oe5fJzqVjhOU6W/DHeYvc=,iv:oweEMqRAPf0WwPADSgB+lDldj23KOlueLyNIgtfWzbo=,tag:/pUN92uMWB+j0okvjYJUGg==,type:str]
|
|
||||||
spotifyUserId: ENC[AES256_GCM,data:MeowarV/Wg==,iv:Guqwg3rulJCuMwuSeluMPiQnjaQxDEmYEgDffzkGyqc=,tag:hdkZS5Uj733EcODZxJAxaw==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age16ecqs0u4h4qvnp7nr2rdhd0d2qrw7x5kk60u473d6988a0amsass4d5a22
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZT3Z5NnJKaE1SMGVvZEk1
|
|
||||||
cFlYYkNUQW4zVFdqQ1MyY1gyOGxhNCt5K21FCmlKMlQzWTJ0K1NqNVEwY2k4bW9z
|
|
||||||
NmhEejRBeGNUQ3ZSUTNHVE0wUEJnL0EKLS0tIFVhc0l3ZjYyYnY5M2ZJdnZ4VTRU
|
|
||||||
cHZyWXZHd29UU05xdTBOVnhiUFdoNlkKzLFZ6bf8Ap7Tkd8sr+U9OmpX88WGvOC7
|
|
||||||
4XxfEq5iFaYZemIGtdNJzURN8pdB6su8dG9ChV7m89If5SC9VXYmEg==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-02-12T10:19:55Z"
|
|
||||||
mac: ENC[AES256_GCM,data:uFJWneNsB9652npOK0bq+8fCHrU4xFMhxpSr1G9fZevP2+NJ3SWNTOQomigmLpSszaj0sf7y6VuHZE2DFun8BCy13yR1PJtM8vQTfAJ+HMyps1YT4jcraZwFyZx5skuVvEDd7xV7+8tQwHR+c7GXrib+92/2wKFS/wbhn6l9qYY=,iv:GZDdkc527os5e2QKsQqsXYGvdJ+ymoiFnihghzMtTOY=,tag:YEoJQ+zNawIYfmPQlawbBw==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.8.1
|
|
||||||
6
inputs/default.nix
Normal file
6
inputs/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./home
|
||||||
|
./system
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./helix
|
./helix
|
||||||
./nvim
|
# ./nvim
|
||||||
];
|
];
|
||||||
|
|
||||||
options.homeModules.console.editor = {
|
options.homeModules.console.editor = {
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
#./eww
|
#./eww
|
||||||
./ags
|
# ./ags
|
||||||
./waybar
|
./waybar
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./anyrun
|
# ./anyrun
|
||||||
./rofi
|
./rofi
|
||||||
./tofi
|
./tofi
|
||||||
];
|
];
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue