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
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 = {
|
||||
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";
|
||||
# };
|
||||
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";
|
||||
};
|
||||
|
||||
# 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";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
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; };
|
||||
};
|
||||
# personal scripts repo
|
||||
ooks-scripts.url = "github:ooks-io/scripts";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue