Merge branch 'flake-parts'
This commit is contained in:
commit
b221fb4781
230 changed files with 609 additions and 878 deletions
|
|
@ -1,7 +0,0 @@
|
|||
keys:
|
||||
- &ooks age16ecqs0u4h4qvnp7nr2rdhd0d2qrw7x5kk60u473d6988a0amsass4d5a22
|
||||
creation_rules:
|
||||
- path_regex: secrets/secrets.yaml$
|
||||
key_groups:
|
||||
- age:
|
||||
- *ooks
|
||||
1102
flake.lock
generated
1102
flake.lock
generated
File diff suppressed because it is too large
Load diff
262
flake.nix
262
flake.nix
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 = [
|
||||
./helix
|
||||
./nvim
|
||||
# ./nvim
|
||||
];
|
||||
|
||||
options.homeModules.console.editor = {
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
imports = [
|
||||
#./eww
|
||||
./ags
|
||||
# ./ags
|
||||
./waybar
|
||||
];
|
||||
|
||||
|
|
@ -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
Loading…
Add table
Add a link
Reference in a new issue