2022-12-25 09:55:30 +00:00
|
|
|
{
|
2023-01-15 09:54:40 +00:00
|
|
|
nixConfig = {
|
2023-01-19 15:28:54 +00:00
|
|
|
accept-flake-config = true;
|
|
|
|
experimental-features = "nix-command flakes";
|
2023-03-24 16:39:29 +00:00
|
|
|
max-jobs = 12;
|
2023-01-15 09:54:40 +00:00
|
|
|
};
|
2022-12-25 09:55:30 +00:00
|
|
|
description = "My personal configuration in Nix (and some native configurations)";
|
|
|
|
inputs = {
|
2023-05-02 16:28:34 +00:00
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
2023-10-17 23:16:42 +00:00
|
|
|
# nixpkgs-latest.url = "github:nixos/nixpkgs";
|
2023-06-18 09:51:33 +00:00
|
|
|
# deploy-rs.url = "github:serokell/deploy-rs";
|
2023-06-23 03:52:40 +00:00
|
|
|
std = {
|
|
|
|
url = "github:divnix/std";
|
|
|
|
inputs.devshell.url = "github:numtide/devshell";
|
|
|
|
};
|
2023-06-18 06:31:47 +00:00
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
neovim-nightly-overlay = {
|
2023-10-17 23:16:42 +00:00
|
|
|
url = "github:nix-community/neovim-nightly-overlay";
|
2023-06-18 06:31:47 +00:00
|
|
|
};
|
|
|
|
nix-boost = {
|
|
|
|
url = "git+https://git.pegasust.com/pegasust/nix-boost?ref=bleed";
|
|
|
|
};
|
|
|
|
kpcli-py = {
|
|
|
|
url = "github:rebkwok/kpcli";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
nix-index-database = {
|
|
|
|
url = "github:mic92/nix-index-database";
|
|
|
|
# Should show the latest nixpkgs whenever possible
|
2023-10-17 23:16:42 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-06-18 06:31:47 +00:00
|
|
|
};
|
2023-10-17 23:16:42 +00:00
|
|
|
nixpkgs-vimplugins.url = "github:GaetanLepage/nixpkgs/vim-plugins-update";
|
2023-06-20 21:10:00 +00:00
|
|
|
sg-nvim = {
|
2023-06-22 17:34:20 +00:00
|
|
|
url = "git+https://github.com/pegasust/sg.nvim?ref=sg-cody-discover";
|
2023-06-20 21:10:00 +00:00
|
|
|
};
|
2022-12-25 09:55:30 +00:00
|
|
|
};
|
|
|
|
|
2023-06-18 09:51:33 +00:00
|
|
|
outputs = {
|
|
|
|
self,
|
|
|
|
std,
|
|
|
|
...
|
|
|
|
} @ inputs:
|
2023-06-18 00:46:31 +00:00
|
|
|
std.growOn
|
2023-05-02 16:28:34 +00:00
|
|
|
{
|
|
|
|
# boilerplate
|
|
|
|
inherit inputs;
|
2023-06-20 21:10:00 +00:00
|
|
|
# All cell blocks are under ./nix/<cell>/<cellblock> as `<cellblock>.nix`
|
2023-05-02 16:28:34 +00:00
|
|
|
# or `<cellblock/default.nix`
|
2023-06-20 21:10:00 +00:00
|
|
|
cellsFrom = ./nix;
|
2023-05-16 16:26:57 +00:00
|
|
|
# modules = ./nix/modules;
|
2023-05-02 16:28:34 +00:00
|
|
|
|
2023-06-18 00:46:31 +00:00
|
|
|
cellBlocks = let
|
2023-07-25 20:24:49 +00:00
|
|
|
inherit (std.blockTypes) devshells functions anything installables runnables;
|
2023-06-18 00:46:31 +00:00
|
|
|
in [
|
2023-08-01 07:36:14 +00:00
|
|
|
(installables "shells")
|
2023-06-18 00:46:31 +00:00
|
|
|
(devshells "devshells")
|
|
|
|
(devshells "userShells")
|
|
|
|
(functions "home-profiles")
|
|
|
|
(functions "home-modules")
|
2023-06-18 09:51:33 +00:00
|
|
|
(anything "home-configs")
|
2023-06-18 07:52:08 +00:00
|
|
|
(installables "packages")
|
|
|
|
(anything "lib")
|
2023-07-25 20:24:49 +00:00
|
|
|
(runnables "formatter")
|
2023-06-18 00:46:31 +00:00
|
|
|
];
|
2023-05-02 16:28:34 +00:00
|
|
|
}
|
2023-01-12 18:42:20 +00:00
|
|
|
{
|
2023-08-01 07:36:14 +00:00
|
|
|
devShells = std.harvest self [["dotfiles" "devshells"] ["dev" "shells"]];
|
2023-06-18 06:31:47 +00:00
|
|
|
homeModules = std.pick self [["repo" "home-modules"]];
|
2023-08-01 07:36:14 +00:00
|
|
|
packages = std.harvest self [
|
|
|
|
["repo" "packages"]
|
|
|
|
["dev" "packages"]
|
|
|
|
];
|
2023-06-18 07:52:08 +00:00
|
|
|
legacyPackages = std.harvest self [["repo" "home-configs"]];
|
|
|
|
lib = std.pick self [["repo" "lib"]];
|
2023-06-18 00:46:31 +00:00
|
|
|
|
|
|
|
# TODO: Debug only
|
2023-06-18 06:31:47 +00:00
|
|
|
homeProfiles = std.pick self [["repo" "home-profiles"]];
|
2023-07-25 20:24:49 +00:00
|
|
|
formatter = std.harvest self [["repo" "formatter"]];
|
2023-02-22 20:18:44 +00:00
|
|
|
};
|
2022-12-25 09:55:30 +00:00
|
|
|
}
|