This commit is contained in:
2026-02-03 17:46:20 +01:00
parent 6b56dbe404
commit 1cf3735e96
8 changed files with 62 additions and 4 deletions

23
flake.lock generated
View File

@@ -18,7 +18,8 @@
"root": { "root": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix",
"wrappers": "wrappers"
} }
}, },
"treefmt-nix": { "treefmt-nix": {
@@ -40,6 +41,26 @@
"repo": "treefmt-nix", "repo": "treefmt-nix",
"type": "github" "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", "root": "root",

View File

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

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