diff --git a/configs/git.nix b/configs/git.nix index 092d930..e88f91a 100644 --- a/configs/git.nix +++ b/configs/git.nix @@ -1,4 +1,4 @@ -{ pkgs, config, ... }: +{ pkgs, config, lib, ... }: { environment.systemPackages = [ pkgs.mr @@ -13,7 +13,37 @@ ]; home-manager.users.me = { - home.file.".mrconfig".text = builtins.readFile ; + home.file.".mrconfig".text = + let + prependPath = prefix: lib.attrsets.mapAttrs' (path: lib.attrsets.nameValuePair "${prefix}/${path}"); + git = url: { checkout = "git clone ${url}"; }; + github = owner: repo: git "git@github.com:${owner}/${repo}"; + keybase = owner: repo: git "keybase://private/${owner}/${repo}"; + in lib.generators.toINI {} ({ + DEFAULT = { + git_gc = "git gc \"$@\""; + }; + } // prependPath "prog/git" { + "menstruation.rs" = github "kmein" "menstruation.rs"; + brockman = github "kmein" "brockman"; + challenges = github "kmein" "challenges"; + conlangs = github "kmein" "conlangs"; + ledger = keybase "kmein" "ledger"; + mahlzeit = github "kmein" "mahlzeit"; + menstruation-telegram = github "kmein" "menstruation-telegram"; + meteora = github "kmein" "meteora"; + modernizr = github "kmein" "modernizr"; + niveum = github "kmein" "niveum"; + nixpkgs = github "NixOS" "nixpkgs"; + poetry = github "kmein" "poetry"; + quotes = github "kmein" "quotes"; + sphinx = github "kmein" "sphinx"; + stockholm = git "https://cgit.krebsco.de/stockholm"; + telebots = github "kmein" "telebots"; + traadfri = github "kmein" "traadfri"; + wissen = github "kmein" "wissen"; + zen = github "kmein" "zen"; + }); programs.git = { enable = true; diff --git a/dot/mrconfig.ini b/dot/mrconfig.ini deleted file mode 100644 index 8489d90..0000000 --- a/dot/mrconfig.ini +++ /dev/null @@ -1,53 +0,0 @@ -[DEFAULT] -git_gc = git gc "$@" - -[prog/git/blog] -checkout = git clone 'git@github.com:kmein/blog' 'blog' - -[prog/git/brockman] -checkout = git clone 'git@github.com:kmein/brockman.git' 'brockman' - -[prog/git/menstruation.rs] -checkout = git clone 'git@github.com:kmein/menstruation.rs.git' 'menstruation.rs' - -[prog/git/menstruation-telegram] -checkout = git clone 'git@github.com:kmein/menstruation-telegram' 'menstruation-telegram' - -[prog/git/meteora] -checkout = git clone 'git@github.com:kmein/meteora.git' 'meteora' - -[prog/git/ledger] -checkout = git clone 'keybase://private/kmein/ledger' 'ledger' - -[prog/git/niveum] -checkout = git clone 'git@github.com:kmein/niveum' 'niveum' - -[prog/git/poetry] -checkout = git clone 'git@github.com:kmein/poetry' 'poetry' - -[prog/git/mnemosyne] -checkout = git clone 'git@github.com:kmein/mnemosyne' 'mnemosyne' - -[prog/git/quotes] -checkout = git clone 'git@github.com:kmein/quotes' 'quotes' - -[prog/git/stockholm] -checkout = git clone 'https://cgit.krebsco.de/stockholm' 'stockholm' - -[prog/git/telebots] -checkout = git clone 'git@github.com:kmein/telebots' 'telebots' - -[prog/git/traadfri] -checkout = git clone 'git@github.com:kmein/traadfri' 'traadfri' - -[prog/git/zen] -checkout = git clone 'git@github.com:kmein/zen.git' 'zen' - -[prog/git/sphinx] -checkout = git clone 'git@github.com:kmein/sphinx.git' 'sphinx' - -[prog/git/wissen] -checkout = git clone 'git@github.com:kmein/wissen.git' 'wissen' - -[prog/git/conlangs] -checkout = git clone 'git@github.com:kmein/conlangs.git' 'conlangs'