diff --git a/README.md b/README.md new file mode 100644 index 0000000..25b3a4a --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# a nixos config + +## mission statement + +this config attempts to follow the [synaptic standard](https://github.com/llakala/synaptic-standard/), and is built in an effort to achieve **semantic colocation**. + +ideally, our modules are categorised by the purpose they hope to fulfil, and contain all the information necessary to achieve that within their context. + +this is in contrast to many configuration styles which may be structured in a way that is beholden to mechanical details (implementations, module systems, or other scope they may carry). + +here, *we do not build our dreams of concrete*. + +## mechanism + +recursive imports and module aliasing bend the module system/s to our will. + +this allows us to create freeform sets of modules which realise broad purposes while cross-cutting module system concerns, all with a single toplevel import point. + +you can see [entry.nix](./entry.nix) and [util/create.nix](util/create.nix) for the explicit details of how this is done. diff --git a/common/cli.nix b/common/cli.nix index 9782eab..68d1ef7 100644 --- a/common/cli.nix +++ b/common/cli.nix @@ -1,5 +1,6 @@ { pkgs, + userPkgs, ... }: { @@ -22,4 +23,19 @@ ouch ; }; + programs.yazi = { + enable = true; + plugins = { + inherit (pkgs.yaziPlugins) + lazygit + chmod + diff + mediainfo + smart-enter + full-border + wl-clipboard + ; + fr = pkgs.callPackage userPkgs.fr-yazi { }; + }; + }; } diff --git a/common/terminal.nix b/common/terminal.nix index fc1a6a1..b15b6b0 100644 --- a/common/terminal.nix +++ b/common/terminal.nix @@ -1,11 +1,9 @@ { pkgs, inputs, - config, ... }: let - inherit (config) rice; inherit (pkgs) fish; in { @@ -26,10 +24,19 @@ in "gap" = "git commit -a --amend --no-edit && git push --force"; "gl" = "git pull"; "ga" = "git add"; - "l" = "eza -lg --icons=always --colour=always | culr"; - "la" = "eza -lg --icons=always --colour=always | culr"; + "gcam" = "git commit -am"; + }; + shellAliases = { + "l" = "eza -lg --icons=always --colour=always $argv | culr"; + "la" = "eza -lg --icons=always --colour=always $argv | culr"; + "p" = "ps $argv | culr"; + "mnt" = "mount | culr"; }; interactiveShellInit = '' + function fish_title + set -q argv[1]; or set argv fish + echo (fish_prompt_pwd_dir_length=100 prompt_pwd): $argv; + end ${./rice/header.sh} ''; }; diff --git a/flake.lock b/flake.lock index a788687..fc5440d 100644 --- a/flake.lock +++ b/flake.lock @@ -462,11 +462,11 @@ "unf": "unf" }, "locked": { - "lastModified": 1752989803, - "narHash": "sha256-KusN7z80ZuWFdPu/U086MIodHyazY1J8vroZmuU+21Y=", + "lastModified": 1753059450, + "narHash": "sha256-WsGRRQGNnPu0Bv5QPhbnouAWjdsmCuE9VzgZN7U+EQY=", "ref": "refs/heads/master", - "rev": "6b4a286da4884242b6a62e4cd0c9f95bba0b3721", - "revCount": 37, + "rev": "de951b227223ee924c37c7aa282bade34686bf83", + "revCount": 38, "type": "git", "url": "https://git.atagen.co/atagen/meat" }, diff --git a/graphical/documents.nix b/graphical/documents.nix index 1fb700f..18aca39 100644 --- a/graphical/documents.nix +++ b/graphical/documents.nix @@ -4,6 +4,7 @@ inherit (pkgs) libreoffice thunderbird + obsidian ; }; } diff --git a/pkg/fr-yazi.nix b/pkg/fr-yazi.nix new file mode 100644 index 0000000..7a72a91 --- /dev/null +++ b/pkg/fr-yazi.nix @@ -0,0 +1,14 @@ +{ + pkgs, + ... +}: +pkgs.yaziPlugins.mkYaziPlugin { + pname = "fr.yazi"; + version = "dirty-15-07-2025"; + src = pkgs.fetchFromGitHub { + owner = "lpnh"; + repo = "fr.yazi"; + rev = "3d32e55b7367334abaa91f36798ef723098d0a6b"; + hash = "sha256-CrKwFMaiEK+TNW6GRZzyt9MfOmjIb3vw0hBpBXyn16k="; + }; +}