Merge branch 'flake-parts'

This commit is contained in:
ooks-io 2024-05-19 16:06:41 +12:00
commit b221fb4781
230 changed files with 609 additions and 878 deletions

View file

@ -1,7 +0,0 @@
keys:
- &ooks age16ecqs0u4h4qvnp7nr2rdhd0d2qrw7x5kk60u473d6988a0amsass4d5a22
creation_rules:
- path_regex: secrets/secrets.yaml$
key_groups:
- age:
- *ooks

1102
flake.lock generated

File diff suppressed because it is too large Load diff

262
flake.nix
View file

@ -1,206 +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 = {
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 = {
url = "github:nix-community/nix-on-droid/release-23.11";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
hardware.url = "github:nixos/nixos-hardware";
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";
# };
systems.url = "github:nix-systems/default-linux";
# hyprland "ecosystem"
hyprland = {
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
};
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
hyprwm-contrib = {
url = "github:hyprwm/contrib";
inputs.nixpkgs.follows = "hyprland/nixpkgs";
};
hypridle = {
url = "github:hyprwm/hypridle";
inputs.nixpkgs.follows = "hyprland/nixpkgs";
inputs.systems.follows = "hyprland/systems";
inputs.hyprlang.follows = "hyprland/hyprlang";
};
hyprlock = {
url = "github:hyprwm/hyprlock";
inputs.nixpkgs.follows = "hyprland/nixpkgs";
inputs.systems.follows = "hyprland/systems";
inputs.hyprlang.follows = "hyprland/hyprlang";
};
hyprpaper = {
url = "github:hyprwm/hyprpaper";
inputs.nixpkgs.follows = "hyprland/nixpkgs";
inputs.systems.follows = "hyprland/systems";
inputs.hyprlang.follows = "hyprland/hyprlang";
};
xdg-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland";
ooks-scripts = {
url = "github:ooks-io/scripts";
inputs.nixpkgs.follows = "nixpkgs";
};
helix = {
url = "github:helix-editor/helix";
inputs.nixpkgs.follows = "nixpkgs";
};
# wrapper for nix rebuild
nh = {
url = "github:viperML/nh";
inputs.nixpkgs.follows = "nixpkgs";
};
anyrun = {
url = "github:Kirottu/anyrun";
# nix language server that berates me for my mistakes
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";
};
# zellij status bar
zjstatus.url = "github:dj95/zjstatus";
nixarr = {
url = "github:rasmus-kirk/nixarr";
};
# media server module for hosting my legally purchased linux isos
nixarr.url = "github:rasmus-kirk/nixarr";
nixpkgs-wayland = {
url = "github:nix-community/nixpkgs-wayland";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-gaming = {
url = "github:fufexan/nix-gaming";
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
hm
];
specialArgs = { inherit inputs outputs self; };
};
# 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; };
};
# personal scripts repo
ooks-scripts.url = "github:ooks-io/scripts";
};
}

View file

@ -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 = { };
};
};
};
}

View file

@ -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
View file

@ -0,0 +1,6 @@
{
imports = [
./home
./system
];
}

View file

@ -3,7 +3,7 @@
imports = [
./helix
./nvim
# ./nvim
];
options.homeModules.console.editor = {

View file

@ -2,7 +2,7 @@
{
imports = [
#./eww
./ags
# ./ags
./waybar
];

View file

@ -2,7 +2,7 @@
{
imports = [
./anyrun
# ./anyrun
./rofi
./tofi
];

Some files were not shown because too many files have changed in this diff Show more