More tidying
parent
cb6fcae894
commit
890be0959b
73
README.md
73
README.md
|
@ -1,8 +1,8 @@
|
||||||
# dotfiles.nix
|
# dotfiles.nix
|
||||||
|
|
||||||
nix user configuration for nix-darwin and home-manager.
|
nix user configuration for nix{-darwin,OS} and home-manager.
|
||||||
|
|
||||||
spiritually a fork of https://github.com/malob/nixpkgs, but using a repo i already had lying around
|
relies heavily on [flake.parts](https://flake.parts) for organization.
|
||||||
|
|
||||||
## installation
|
## installation
|
||||||
```shell
|
```shell
|
||||||
|
@ -20,58 +20,33 @@ main entry point and glue for submodules
|
||||||
|
|
||||||
[nix-darwin](https://github.com/LnL7/nix-darwin) specific configuration
|
[nix-darwin](https://github.com/LnL7/nix-darwin) specific configuration
|
||||||
|
|
||||||
#### bootstrap.nix
|
|
||||||
|
|
||||||
minimal configuration for a base macOS system
|
|
||||||
|
|
||||||
#### default.nix
|
|
||||||
|
|
||||||
full featured macOS system
|
|
||||||
|
|
||||||
#### homebrew.nix
|
|
||||||
|
|
||||||
homebrew + mac app store apps
|
|
||||||
|
|
||||||
#### defaults.nix
|
|
||||||
|
|
||||||
macOS system settings
|
|
||||||
|
|
||||||
### home
|
### home
|
||||||
|
|
||||||
[home-manager](https://github.com/nix-community/home-manager) configuration
|
[home-manager](https://github.com/nix-community/home-manager) configuration
|
||||||
|
|
||||||
#### configs
|
### nixos
|
||||||
|
|
||||||
simple configurations
|
nixos specific configuration
|
||||||
|
|
||||||
#### default.nix
|
|
||||||
|
|
||||||
main user environment configuration
|
|
||||||
|
|
||||||
#### kitty.nix
|
|
||||||
|
|
||||||
kitty terminal configuration and integrations
|
|
||||||
|
|
||||||
#### shells.nix
|
|
||||||
|
|
||||||
fish shell configuration and integrations
|
|
||||||
|
|
||||||
### modules
|
|
||||||
|
|
||||||
#### darwin
|
|
||||||
|
|
||||||
various extensions for nix-darwin configuration
|
|
||||||
|
|
||||||
#### home
|
|
||||||
|
|
||||||
customization for kitty terminal and other programs
|
|
||||||
|
|
||||||
### overlays
|
|
||||||
|
|
||||||
#### colors
|
|
||||||
|
|
||||||
pure nix colorscheme palettes
|
|
||||||
|
|
||||||
### pkgs
|
### pkgs
|
||||||
|
|
||||||
custom-built nix packages in a sub-flake
|
overlay with some additional packages
|
||||||
|
|
||||||
|
### systems
|
||||||
|
|
||||||
|
system-specific bits of configuration, relating to a particular host or type of hosts
|
||||||
|
|
||||||
|
### templates
|
||||||
|
|
||||||
|
nix flake templates for flake-based projects
|
||||||
|
|
||||||
|
### users
|
||||||
|
|
||||||
|
flake-wide user configuration
|
||||||
|
|
||||||
|
## grafts
|
||||||
|
|
||||||
|
this is a painfully incomplete list of some of the more directly inspirations for this repo:
|
||||||
|
|
||||||
|
- https://github.com/srid/nixos-config
|
||||||
|
- https://github.com/malob/nixpkgs
|
||||||
|
|
17
flake.lock
17
flake.lock
|
@ -30,22 +30,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dark-mode-notify-src": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1658150829,
|
|
||||||
"narHash": "sha256-LsAQ5v5jgJw7KsJnQ3Mh6+LNj1EMHICMoD5WzF3hRmU=",
|
|
||||||
"owner": "bouk",
|
|
||||||
"repo": "dark-mode-notify",
|
|
||||||
"rev": "4d7fe211f81c5b67402fad4bed44995344a260d1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "bouk",
|
|
||||||
"repo": "dark-mode-notify",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"disko": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -567,7 +551,6 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"dark-mode-notify-src": "dark-mode-notify-src",
|
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"fish-plugin-autopair": "fish-plugin-autopair",
|
"fish-plugin-autopair": "fish-plugin-autopair",
|
||||||
"fish-plugin-colored-man-pages": "fish-plugin-colored-man-pages",
|
"fish-plugin-colored-man-pages": "fish-plugin-colored-man-pages",
|
||||||
|
|
|
@ -30,10 +30,6 @@
|
||||||
nixd.url = "github:nix-community/nixd";
|
nixd.url = "github:nix-community/nixd";
|
||||||
nixd.inputs.nixpkgs.follows = "nixpkgs";
|
nixd.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# trigger some action when switching between dark and light mode on macOS
|
|
||||||
dark-mode-notify-src.url = "github:bouk/dark-mode-notify";
|
|
||||||
dark-mode-notify-src.flake = false;
|
|
||||||
|
|
||||||
# iA writer fonts
|
# iA writer fonts
|
||||||
ia-writer-family-src.url = "github:iaolo/iA-Fonts";
|
ia-writer-family-src.url = "github:iaolo/iA-Fonts";
|
||||||
ia-writer-family-src.flake = false;
|
ia-writer-family-src.flake = false;
|
||||||
|
@ -121,7 +117,6 @@
|
||||||
"nixd"
|
"nixd"
|
||||||
];
|
];
|
||||||
|
|
||||||
# pre-commit hook configuration
|
|
||||||
pre-commit.settings.hooks = {
|
pre-commit.settings.hooks = {
|
||||||
deadnix.enable = true;
|
deadnix.enable = true;
|
||||||
nil.enable = true;
|
nil.enable = true;
|
||||||
|
@ -129,6 +124,7 @@
|
||||||
statix.enable = true;
|
statix.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# TODO: how to set legacy packages with overrides, etc?
|
||||||
packages.default = self'.packages.activate;
|
packages.default = self'.packages.activate;
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
StandardErrorPath = "${logPath}/error.log";
|
StandardErrorPath = "${logPath}/error.log";
|
||||||
StandardOutPath = "${logPath}/out.log";
|
StandardOutPath = "${logPath}/out.log";
|
||||||
ProgramArguments = [
|
ProgramArguments = [
|
||||||
"${lib.getExe pkgs.dark-mode-notify}"
|
"${lib.getExe' pkgs.dark-mode-notify "dark-mode-notify"}"
|
||||||
"${lib.getExe pkgs.fish}"
|
"${lib.getExe pkgs.fish}"
|
||||||
"-c"
|
"-c"
|
||||||
"set-background-to-env DARKMODE"
|
"set-background-to-env DARKMODE"
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
};
|
};
|
||||||
settings = {
|
settings = {
|
||||||
# TODO: automatic optimizing and gc
|
# TODO: automatic optimizing and gc
|
||||||
|
# https://github.com/montchr/dotfield/blob/main/profiles/darwinProfiles/core/nix-optimizations-darwin.nix
|
||||||
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
||||||
extra-platforms = lib.mkIf (pkgs.system == "aarch64-darwin") [
|
extra-platforms = lib.mkIf (pkgs.system == "aarch64-darwin") [
|
||||||
"x86_64-darwin"
|
"x86_64-darwin"
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
inputs: self: super: {
|
inputs: self: super: {
|
||||||
inherit (inputs) terminal-themes;
|
inherit (inputs) terminal-themes;
|
||||||
dark-mode-notify = self.callPackage ./dark-mode-notify.nix {
|
|
||||||
inherit (inputs) dark-mode-notify-src;
|
|
||||||
};
|
|
||||||
# get flake inputs prefixed with fish-plugin- and inject them into fishPlugins as a single list
|
# get flake inputs prefixed with fish-plugin- and inject them into fishPlugins as a single list
|
||||||
fishPlugins = super.fishPlugins // {
|
fishPlugins = super.fishPlugins // {
|
||||||
flakePlugins = let
|
flakePlugins = let
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ nerd-font-patcher, stdenv, recursive }:
|
{ stdenv, nerd-font-patcher, recursive }:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "recursive-nerd-font-patched";
|
name = "recursive-nerd-font-patched";
|
||||||
src = recursive;
|
src = recursive;
|
||||||
|
|
|
@ -41,10 +41,8 @@ let
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
# TODO: can we hack in an assertion that `me` is a key in `users`?
|
# TODO: can we hack in an assertion that `me` is a key in `users`?
|
||||||
options = { users = lib.mkOption { type = usersSubmodule; }; };
|
options.users = lib.mkOption { type = usersSubmodule; };
|
||||||
config = {
|
config.users = (import ./config.nix) // {
|
||||||
users = (import ./config.nix) // {
|
|
||||||
me' = lib.mkDefault config.users.users.${config.users.me};
|
me' = lib.mkDefault config.users.users.${config.users.me};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue