This commit is contained in:
2026-02-03 17:46:20 +01:00
parent 6b56dbe404
commit 56ca2d31a3
8 changed files with 66 additions and 5 deletions

23
flake.lock generated
View File

@@ -18,7 +18,8 @@
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"treefmt-nix": "treefmt-nix"
"treefmt-nix": "treefmt-nix",
"wrappers": "wrappers"
}
},
"treefmt-nix": {
@@ -40,6 +41,26 @@
"repo": "treefmt-nix",
"type": "github"
}
},
"wrappers": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1770112394,
"narHash": "sha256-H8d0WplmDeuvOM4bsHNt77T6OWiSJMaTP6UG1XyMNxA=",
"owner": "Lassulus",
"repo": "wrappers",
"rev": "23625835eb91d925c498780f5a37442ead1ae8e5",
"type": "github"
},
"original": {
"owner": "Lassulus",
"repo": "wrappers",
"type": "github"
}
}
},
"root": "root",

View File

@@ -1,6 +1,8 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
wrappers.url = "github:Lassulus/wrappers";
wrappers.inputs.nixpkgs.follows = "nixpkgs";
treefmt-nix.url = "github:numtide/treefmt-nix";
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
};
@@ -22,12 +24,17 @@
in
{
nixosModules = {
vim-kmein = modules/vim.nix;
zsh-kmein = modules/zsh.nix;
vim = modules/vim.nix;
zsh = modules/zsh.nix;
git = modules/git.nix;
};
overlays.default = final: prev: {
vim-kmein = prev.callPackage packages/vim-kmein { };
vim-kmein = prev.callPackage packages/vim { };
git-kmein = import packages/git.nix {
inherit (inputs) wrappers;
pkgs = prev;
};
};
packages = eachSupportedSystem (
@@ -39,7 +46,7 @@
};
in
{
inherit (pkgs) vim-kmein;
inherit (pkgs) vim-kmein git-kmein;
}
);

7
modules/git.nix Normal file
View File

@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
environment.shellAliases.g = "git";
environment.systemPackages = [
pkgs.git-kmein
];
}

26
packages/git.nix Normal file
View File

@@ -0,0 +1,26 @@
{ wrappers, pkgs }:
let
git = wrappers.wrapperModules.git.apply {
inherit pkgs;
settings = {
alias = {
co = "checkout";
br = "branch";
ci = "commit";
cm = "commit -m";
st = "status -s";
amend = "commit --amend";
unstage = "reset HEAD --";
last = "log -1 HEAD";
diffs = "diff --staged";
pushf = "push --force-with-lease";
logs = "log --pretty=oneline";
};
pull.ff = "only";
rebase.autoStash = true;
merge.autoStash = true;
push.autoSetupRemote = true;
};
};
in
git.wrapper