Compare commits
No commits in common. "1d39c05834e73adedf7a33576d0e1e4c8f3f655a" and "150534c51221c6b8224e0e0b64cef11a368f4864" have entirely different histories.
1d39c05834
...
150534c512
10
.sops.yaml
10
.sops.yaml
|
@ -1,10 +0,0 @@
|
|||
keys:
|
||||
- &htran-mbp age1jpm9mtxz6n8vncrk6pk7dppj3r7qxfj5hsgvcdulmp3lxvxez94qvxlgay
|
||||
- &htran age1jw958shpwu7st8sc4z0fufuswmfpxfc9wl3df9g3f3y57m45j92syr0mng
|
||||
creation_rules:
|
||||
- path_regex: .*
|
||||
key_groups:
|
||||
- age:
|
||||
- *htran
|
||||
- *htran-mbp
|
||||
|
201
c_.nix
201
c_.nix
|
@ -1,111 +1,100 @@
|
|||
# a small helper that only builds on top of builtins functions
|
||||
_: (builtins // (
|
||||
let
|
||||
formatSecondsSinceEpoch = t:
|
||||
let
|
||||
rem = x: y: x - x / y * y;
|
||||
days = t / 86400;
|
||||
secondsInDay = rem t 86400;
|
||||
hours = secondsInDay / 3600;
|
||||
minutes = (rem secondsInDay 3600) / 60;
|
||||
seconds = rem t 60;
|
||||
{src}@inputs:
|
||||
builtins // (let
|
||||
formatSecondsSinceEpoch = t:
|
||||
let
|
||||
rem = x: y: x - x / y * y;
|
||||
days = t / 86400;
|
||||
secondsInDay = rem t 86400;
|
||||
hours = secondsInDay / 3600;
|
||||
minutes = (rem secondsInDay 3600) / 60;
|
||||
seconds = rem t 60;
|
||||
|
||||
# Courtesy of https://stackoverflow.com/a/32158604.
|
||||
z = days + 719468;
|
||||
era = (if z >= 0 then z else z - 146096) / 146097;
|
||||
doe = z - era * 146097;
|
||||
yoe = (doe - doe / 1460 + doe / 36524 - doe / 146096) / 365;
|
||||
y = yoe + era * 400;
|
||||
doy = doe - (365 * yoe + yoe / 4 - yoe / 100);
|
||||
mp = (5 * doy + 2) / 153;
|
||||
d = doy - (153 * mp + 2) / 5 + 1;
|
||||
m = mp + (if mp < 10 then 3 else -9);
|
||||
y' = y + (if m <= 2 then 1 else 0);
|
||||
# Courtesy of https://stackoverflow.com/a/32158604.
|
||||
z = days + 719468;
|
||||
era = (if z >= 0 then z else z - 146096) / 146097;
|
||||
doe = z - era * 146097;
|
||||
yoe = (doe - doe / 1460 + doe / 36524 - doe / 146096) / 365;
|
||||
y = yoe + era * 400;
|
||||
doy = doe - (365 * yoe + yoe / 4 - yoe / 100);
|
||||
mp = (5 * doy + 2) / 153;
|
||||
d = doy - (153 * mp + 2) / 5 + 1;
|
||||
m = mp + (if mp < 10 then 3 else -9);
|
||||
y' = y + (if m <= 2 then 1 else 0);
|
||||
|
||||
pad = s: if builtins.stringLength s < 2 then "0" + s else s;
|
||||
in
|
||||
"${toString y'}${pad (toString m)}${pad (toString d)}${pad (toString hours)}"
|
||||
+ "${pad (toString minutes)}${pad (toString seconds)}";
|
||||
pad = s: if builtins.stringLength s < 2 then "0" + s else s;
|
||||
in "${toString y'}${pad (toString m)}${pad (toString d)}${pad (toString hours)}"
|
||||
+ "${pad (toString minutes)}${pad (toString seconds)}";
|
||||
|
||||
fetchTree =
|
||||
# this is the value of flake.lock#lock.nodes.${input_name}.locked
|
||||
{ type
|
||||
, host ? ""
|
||||
, owner ? ""
|
||||
, repo ? ""
|
||||
, rev ? ""
|
||||
, submodules ? ""
|
||||
, path ? ""
|
||||
, narHash ? null
|
||||
, lastModified ? 0
|
||||
, src ? ./.
|
||||
}@info:
|
||||
if info.type == "github" then
|
||||
{
|
||||
outPath =
|
||||
fetchTarball
|
||||
({
|
||||
url = "https://api.${info.host or "github.com"}/repos/"
|
||||
+ "${info.owner}/${info.repo}/tarball/${info.rev}";
|
||||
}
|
||||
// (if info ? narHash then { sha256 = info.narHash; } else { })
|
||||
);
|
||||
rev = info.rev;
|
||||
shortRev = builtins.substring 0 7 info.rev;
|
||||
lastModified = info.lastModified;
|
||||
lastModifiedDate = formatSecondsSinceEpoch info.lastModified;
|
||||
narHash = info.narHash;
|
||||
}
|
||||
else if info.type == "git" then
|
||||
{
|
||||
outPath =
|
||||
builtins.fetchGit
|
||||
({ url = info.url; }
|
||||
// (if info ? rev then { inherit (info) rev; } else { })
|
||||
// (if info ? ref then { inherit (info) ref; } else { })
|
||||
// (if info ? submodules then { inherit (info) submodules; } else { })
|
||||
);
|
||||
lastModified = info.lastModified;
|
||||
lastModifiedDate = formatSecondsSinceEpoch info.lastModified;
|
||||
narHash = info.narHash;
|
||||
} // (if info ? rev then {
|
||||
rev = info.rev;
|
||||
shortRev = builtins.substring 0 7 info.rev;
|
||||
} else { })
|
||||
else if info.type == "path" then
|
||||
{
|
||||
outPath = builtins.path {
|
||||
path =
|
||||
if builtins.substring 0 1 info.path != "/"
|
||||
then src + ("/" + info.path) # make this absolute path by prepending ./
|
||||
else info.path; # it's already an absolute path
|
||||
};
|
||||
narHash = info.narHash;
|
||||
}
|
||||
else if info.type == "tarball" then
|
||||
{
|
||||
outPath =
|
||||
fetchTarball
|
||||
({ inherit (info) url; }
|
||||
// (if info ? narHash then { sha256 = info.narHash; } else { })
|
||||
);
|
||||
}
|
||||
else if info.type == "gitlab" then
|
||||
{
|
||||
inherit (info) rev narHash lastModified;
|
||||
outPath =
|
||||
fetchTarball
|
||||
({ url = "https://${info.host or "gitlab.com"}/api/v4/projects/${info.owner}%2F${info.repo}/repository/archive.tar.gz?sha=${info.rev}"; }
|
||||
// (if info ? narHash then { sha256 = info.narHash; } else { })
|
||||
);
|
||||
shortRev = builtins.substring 0 7 info.rev;
|
||||
}
|
||||
else
|
||||
# FIXME: add Mercurial, tarball inputs.
|
||||
throw "flake input has unsupported input type '${info.type}'";
|
||||
in
|
||||
{
|
||||
inherit fetchTree;
|
||||
}
|
||||
)) nil
|
||||
fetchTree =
|
||||
# this is the value of flake.lock#lock.nodes.${input_name}.locked
|
||||
{type
|
||||
, host? ""
|
||||
, owner? ""
|
||||
, repo? ""
|
||||
, rev? ""
|
||||
, submodules? ""
|
||||
, path? ""
|
||||
, narHash? null
|
||||
, lastModified? 0
|
||||
}@info:
|
||||
if info.type == "github" then
|
||||
{ outPath =
|
||||
fetchTarball
|
||||
({ url = "https://api.${info.host or "github.com"}/repos/"
|
||||
+ "${info.owner}/${info.repo}/tarball/${info.rev}"; }
|
||||
// (if info ? narHash then { sha256 = info.narHash; } else {})
|
||||
);
|
||||
rev = info.rev;
|
||||
shortRev = builtins.substring 0 7 info.rev;
|
||||
lastModified = info.lastModified;
|
||||
lastModifiedDate = formatSecondsSinceEpoch info.lastModified;
|
||||
narHash = info.narHash;
|
||||
}
|
||||
else if info.type == "git" then
|
||||
{ outPath =
|
||||
builtins.fetchGit
|
||||
({ url = info.url; }
|
||||
// (if info ? rev then { inherit (info) rev; } else {})
|
||||
// (if info ? ref then { inherit (info) ref; } else {})
|
||||
// (if info ? submodules then { inherit (info) submodules; } else {})
|
||||
);
|
||||
lastModified = info.lastModified;
|
||||
lastModifiedDate = formatSecondsSinceEpoch info.lastModified;
|
||||
narHash = info.narHash;
|
||||
} // (if info ? rev then {
|
||||
rev = info.rev;
|
||||
shortRev = builtins.substring 0 7 info.rev;
|
||||
} else {
|
||||
})
|
||||
else if info.type == "path" then
|
||||
{ outPath = builtins.path {
|
||||
path = if builtins.substring 0 1 info.path != "/"
|
||||
then src + ("/" + info.path) # make this absolute path by prepending ./
|
||||
else info.path; # it's already an absolute path
|
||||
};
|
||||
narHash = info.narHash;
|
||||
}
|
||||
else if info.type == "tarball" then
|
||||
{ outPath =
|
||||
fetchTarball
|
||||
({ inherit (info) url; }
|
||||
// (if info ? narHash then { sha256 = info.narHash; } else {})
|
||||
);
|
||||
}
|
||||
else if info.type == "gitlab" then
|
||||
{ inherit (info) rev narHash lastModified;
|
||||
outPath =
|
||||
fetchTarball
|
||||
({ url = "https://${info.host or "gitlab.com"}/api/v4/projects/${info.owner}%2F${info.repo}/repository/archive.tar.gz?sha=${info.rev}"; }
|
||||
// (if info ? narHash then { sha256 = info.narHash; } else {})
|
||||
);
|
||||
shortRev = builtins.substring 0 7 info.rev;
|
||||
}
|
||||
else
|
||||
# FIXME: add Mercurial, tarball inputs.
|
||||
throw "flake input has unsupported input type '${info.type}'";
|
||||
in {
|
||||
inherit fetchTree;
|
||||
})
|
||||
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
credentials:
|
||||
- kind:
|
||||
name_unencrypted: kv
|
||||
name_unencrypted: Gitea credentials
|
||||
user_unencrypted: pegasust
|
||||
password: ENC[AES256_GCM,data:l472gCfek08/Z1cWL0EVtqWYYhE=,iv:TDUX4piGeHSkFSApeaGIPiXPzYAHZWxoMIuQ8G6cunw=,tag:WhCDoCNIUxe5gdxUuuYhZA==,type:str]
|
||||
- kind:
|
||||
name_unencrypted: kv
|
||||
name_unencrypted: Nix SSH password for hungtr
|
||||
user_unencrypted: hungtr
|
||||
password: ENC[AES256_GCM,data:cJpfi8l1mx/86R1Oxd8=,iv:AwYBs4/P4ICNo4B6MxIz3HrGB+hdohIRtVflGBSS/P0=,tag:SC6MO5Zn0xwDRH4TGBR2LQ==,type:str]
|
||||
- kind:
|
||||
name_unencrypted: ssh
|
||||
name_unencrypted: egi-htran
|
||||
pubkey_unencrypted: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNKyGKsVG/jVXwAmZvH8rLQPdGj8VgITMSN+/nbXTEY htran@Hung-Tran-MBP.local
|
||||
privkey: ENC[AES256_GCM,data:OrurRGlutN1N1YFQvD1XbiF3thV8qO2y1ufRHi3ut1RVA/lxmqg1kYdWnYE7tOCCCITs20ZpcPFAwAjjAXZH6NaS8FgEJiPDUnJ+hg5v0VC7c4GNc+G3B8+9Taz7mggg70EL/s5QwofpuqJspr4EHrildX6eUeE6s9KwSFnw6KTBgO4r0JqBaicbbObhzxPYIYHjhxRxsbYMX4i8ADPeYryhEtL168dHEGENuz/mbw2I/5Qp3R/SwroNpYlTpq6ukGeobW4+j2KD7ZV9Nvcs/FL6/lPdaUKPxNW/bDeRhAaw9Mw3oDxHdTNisvCHJ53GHChdWcoXSMjYNH+zbgXp9YTeCLBMf9/lLnnEwtSEuD2kexcF+WR7gcbu6mdxJ1k3HBU+Xkrl6shGFuQv3hH8eSmfLhIdy+zcY/jb6tokQklrdKsrusFjuHhAuKfNl5uA93Pc0NxTZ4plxEEdbeyzz54cWwBf0HXR6ztSrjqfUtud3bQY667MNB2LHO91QBoQE7U2gUQ2CmI3VG9KVm2eh7LsXUjLoLzccYfg+kkTrQJnAfs=,iv:+4wsk7mUsIOWNe9IoV0TgrBKIsQdiJyzwVb2+hlPVTc=,tag:B9P2bHPh78JuwusZnAsC5A==,type:str]
|
||||
agepub_unencrypted: age1jpm9mtxz6n8vncrk6pk7dppj3r7qxfj5hsgvcdulmp3lxvxez94qvxlgay
|
||||
agepriv: ENC[AES256_GCM,data:tE6WLw8/dHsC6rfJpek7czvySW0+S2luc470l9X6UFX+zCOwlwoQpTWpIGPIqmkOFNSaaA0cyZ4BmWnlVz1iWxizh8DYqcE5los=,iv:4jnpibK+0cE1isWu6Zl1CsajMWN9Zgw8LGX5WpkRyy8=,tag:vdi85c3Q29olLGsCwrvmcA==,type:str]
|
||||
- kind:
|
||||
name_unencrypted: ssh
|
||||
name_unencrypted: dev1-ssh
|
||||
pubkey_unencrypted: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH1IiP+d2S152uiD2JjUJfADFv7AS0l3LX2NRgfMTYLe htran@htrandevbox
|
||||
privkey: ENC[AES256_GCM,data:5lf+Oy0VhsxDLANpBFxtguD5unsZK9yKW/boTlxAOIzlcD1Xf4Nr0iC6YW/4nBB/eJ8xPlUiU5vhRQSLZPqnfc6nQJReqPPafzfugYb3slYBl59EeimBCqTi0qVIUHNFvRpp2agZW0wIQv4hlB3ks+WBVjKixLOdbUBQREZB22DWk6eoKawmekCr7ItDsxGWG7DtHx9A511LyPrT1n/VhAYHTuq6ycbWjDya++bJ/AkYlcqW0jEyQ/Mudo/TYkRt4TpWWDjGPDYVNrjBiwYOSpoM6IwzfRQvimCZnfqyXHrT2gzv9Vqqu9C2Vp2R0FLzbdA8dYoiXwss7opzsI5um6D4AdQv8c16TiVLFF0q0VP2xyRf3j7iqmuwQHIRlkBh2BhnsXT/s35K6cb1dUhIw0aQpFGzL/VuqMKrQW3j3S9pSiiupBuSwdLJ9s8+rkGYTO0Iw+T646L1NFW7oFMP8Fe5ZMC9UuTV/srWNtXHAQaY+L9TwMIQY36P4V0lqaVfCWAiIrBTgLhHQetnzb/Y44Ll/qTdRXHSW6D4,iv:30sivScr8WmFmZx8M/sqTEuGRg72VzJ+bc6AW847xz8=,tag:dJsH+/dhRWQoKwsGAUzqAQ==,type:str]
|
||||
- kind:
|
||||
name_unencrypted: age
|
||||
agepub_unencrypted: age1jw958shpwu7st8sc4z0fufuswmfpxfc9wl3df9g3f3y57m45j92syr0mng
|
||||
agepriv: ENC[AES256_GCM,data:f66nwYr1WLTejGI2SpHNrf8BYRJJuxpufYLSYVix1uLdBj2TfVJVjN3bLsnHrB1DoeVyaF0nUxrdcL64LhbI38zZC/fNORfXx4E=,iv:J/noycrJlL2+r1ojmUYC/6GUVMGqRFM2ondBm2C7fSE=,tag:pT5z5NQQdS30bucdbPPBng==,type:str]
|
||||
- kind:
|
||||
name_unencrypted: ssh
|
||||
name_unencrypted: gl-egi-htran-ed25519
|
||||
privkey: ENC[AES256_GCM,data:vM5G2o/syq9YUwqpUONJk5ebwha+UQI0wUCkwkmZTTtx+nB/HTnc4kqxX/eeF9ybSE8vq7YIWuKB8aSjpizOYZjjWIV3qpWBiDmdrWkWfUIl7kDdy75azZjHNRXuXUUExbPYGVjmL7KdDMHY2u1WceDSdEvgB2sNOPw4dNiZ9lcbJ5iDpQzmxaF6zdvZ/rVoXYM2NgSMdM4oTdRtYivcOPuxwRGi39R5XgyPJYwltawSAPFPmNYofszUzYLnD7jPEJqyEQORpcI2oM2qAPab22kDrDLyd51X1F6XT/5chKuPSsidZAVjB6+v2s/yN0quqz3qcP2RTYtaZcFyeEquk6eWA/MWVwCJK8XopNoPVVo0PRppOtq3M9Fss3Z587nQAis8doCbvv9XdUunOFHFWon7k8fGu9cDDMmSOE3KGWCO7Vw0V6dYnBT+OVJnJAxlf7AsUZdXVBo3PK9Zw6+d2XF2N9Jhr0bqA1tpmGqwCygHy41FGbWtuhZBX8JimTPFE1MyT5YvptzwbayONcvps8hZED8zwKbR/64DSF7wn1DAaW0=,iv:JjO6O+FB+W1Gi216bjkVXiIFvxLmIZ4rKLCXcepOIQc=,tag:TxiwbrCZ4vFgw6WMmKrVOg==,type:str]
|
||||
pubkey_unencrypted: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINOqM08nqvcFhcF6E//dlphXctfck83N0tjKIfil8npY htran@Hung-Tran-MBP.local
|
||||
agepriv: ENC[AES256_GCM,data:Z4qRvam25nvkNr4DuZhhKtN83NIfNcBW5Wq7SGm0Nb31kAjCS25VfkTrXUtrxWIunMCZEYoIdDLiENjRQPAh/NwffGbZn94/ZKY=,iv:t3YtQvRQPdbDcXgEC/A13W1K9/IIlt6rPceR1lAl0BM=,tag:QmiriOk19fGSPOWj98doUQ==,type:str]
|
||||
agepub_unencrypted: age1jz7ajxer3fs02uygr8a374jfk7vuklpnnyugrlq4equ285t7nyfqwqdreq
|
||||
- kind:
|
||||
name_unencrypted: win-rdp
|
||||
name_unencrypted: EGNGoat
|
||||
ip: ENC[AES256_GCM,data:9/FPJM8l4hLvzDc5pg==,iv:ny1LKtgznhzMd3Bhogwu6b6bOk3/uCNarKTmlWRZAes=,tag:PsleUu2ZE4leEMEcEuJdLQ==,type:str]
|
||||
user_unencrypted: EGN NOC
|
||||
password: ENC[AES256_GCM,data:YOL5Sw6zaA==,iv:Cs8gySfGIQUBPivkM5N6kflZsRhp2w9xmPwtl7RrEZE=,tag:LXYKdsX++IP+jQyjL6JBrg==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1jw958shpwu7st8sc4z0fufuswmfpxfc9wl3df9g3f3y57m45j92syr0mng
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKNlFvNTh6WGFVaVBvcGlt
|
||||
aldQWWtqeWpWWlVTTmRPazJmdjlUT2ZZS2pFCmI2eTRPUDVrTWQ5MFR4Rm9lb0Z3
|
||||
VHBCTFBQSkJmbUpPQ21aZWp6dTJXTVEKLS0tIDlpdDJsNGVCSU85ZEMya3RPL09C
|
||||
b3hXdnNjdmhjRisvV00wbU1TQml6Sk0KJ1NconEwYIvYlrQTd6yLU1uGEAJBPPTp
|
||||
z1wkrjS21PjEzZnOx8UmJX5X+kfPTSItgMkWexRdW0/zVDzGRs5AoQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1jpm9mtxz6n8vncrk6pk7dppj3r7qxfj5hsgvcdulmp3lxvxez94qvxlgay
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCTVNMVm91ZmtzUFVOZm96
|
||||
Rm5zQUxGbzlNYXpFbnVlUStUeG05bW9rclI4ClNwZ3htUXFsZlBqNHMvV1NMT3JW
|
||||
WnlxNGFyclVIV3oyWFNPN3BvRFZ5TzgKLS0tIE1PLzNsYngwMFpFaXdrcll2S0F3
|
||||
Q0ZxRXNvTGlJVHNiZFNyMU5XaTM0YTQKUJvYfdyGqPFmONa+8jKjVb9tbke/HsL2
|
||||
X33WHFVrQf2uOMRf3yAzRm5SfpdULFQ+JTP3CEUmcZ2nUxTmUs+X6A==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2023-02-22T18:03:37Z"
|
||||
mac: ENC[AES256_GCM,data:sWw2fm1EuZQD8251fSmqses1qh4KjtCwRJuMqCMjfTMq1HoH54L9Be8Ij83ea9kN/6G12I01D/ISxj4ZFBbrtRazac4snngRcic0ZlHGSS0MrR5FXCJR0EzdLPIMmxhE2352im+iDhArQRF/GglT/n9olpZwWgEvCDFkYrd9kmk=,iv:6oA9CONYbeNF+kVT5gC4ksfOK1ypSsvTswTOoPbFeQE=,tag:GuCdmvk3bHAWjzXqtgX8tQ==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.7.3
|
|
@ -3,7 +3,7 @@
|
|||
(
|
||||
let
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
c_ = import ./c_.nix;
|
||||
c_ = import ./c_.nix {src = ./.;};
|
||||
in
|
||||
c_.fetchTree lock.nodes.flake-compat.locked
|
||||
)
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
# TODO: decompose hm-switch.sh with a base version (where HOME_MANAGER_BIN is injected)
|
||||
# (lib.shellAsDrv {script = builtins.readFile ./scripts/hm-switch.sh; pname = "hm-switch";})
|
||||
pkgs.rust4cargo
|
||||
pkgs.sops
|
||||
];
|
||||
|
||||
# env vars
|
||||
|
|
341
flake.lock
341
flake.lock
|
@ -2,17 +2,16 @@
|
|||
"nodes": {
|
||||
"agenix": {
|
||||
"inputs": {
|
||||
"darwin": "darwin",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676153903,
|
||||
"narHash": "sha256-uetRyjgMiZCs6srmZ10M764Vn7F53M9mVuqnzHmyBqU=",
|
||||
"lastModified": 1673301561,
|
||||
"narHash": "sha256-gRUWHbBAtMuPDJQXotoI8u6+3DGBIUZHkyQWpIv7WpM=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "ea17cc71b4e1bc5b2601f210a1c85db9453ad723",
|
||||
"rev": "42d371d861a227149dc9a7e03350c9ab8b8ddd68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -21,52 +20,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673405853,
|
||||
"narHash": "sha256-6Nq9DuOo+gE2I8z5UZaKuumykz2xxZ9JGYmUthOuwSA=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "b13963c8c18026aa694acd98d14f66d24666f70b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673295039,
|
||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"ref": "master",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -81,22 +34,6 @@
|
|||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1668681692,
|
||||
|
@ -112,29 +49,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1676283394,
|
||||
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -160,11 +81,11 @@
|
|||
},
|
||||
"flake-utils_3": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -174,21 +95,6 @@
|
|||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_5": {
|
||||
"locked": {
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
|
@ -203,43 +109,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_6": {
|
||||
"locked": {
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660459072,
|
||||
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -248,11 +117,11 @@
|
|||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1675935446,
|
||||
"narHash": "sha256-WajulTn7QdwC7QuXRBavrANuIXE5z+08EdxdRw1qsNs=",
|
||||
"lastModified": 1673948101,
|
||||
"narHash": "sha256-cD0OzFfnLFeeaz4jVszH9QiMTn+PBxmcYzrp+xujpwM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2dce7f1a55e785a22d61668516df62899278c9e4",
|
||||
"rev": "bd3efacb82c721edad1ce9eda583df5fb62ab00a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -287,11 +156,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "contrib",
|
||||
"lastModified": 1676361142,
|
||||
"narHash": "sha256-+nyWJcNRTOPCVqYC7tql7gLzPsNvZFa/wB20X9W9vTg=",
|
||||
"lastModified": 1673937267,
|
||||
"narHash": "sha256-zixnItZtMZRKK0bEh8UOBeh8JT4jeMzPR2TtacfXmyE=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "53968082675cd3b8d1809e53a47c0311b7347ef9",
|
||||
"rev": "2093e574c6c934a718f96d0a173aa965d3958a8b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -308,11 +177,11 @@
|
|||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676362549,
|
||||
"narHash": "sha256-FZJb4ty3bdzfsd5dUaW3wR9FN2t1vNJ1IRJJhxErYYA=",
|
||||
"lastModified": 1673943288,
|
||||
"narHash": "sha256-TDo9wDfZH+MJ/tTeCtZ67jdHqtVvIxetLpFN9+vqZ7g=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "447052579b7154c5cc61faf9ed6f3f484b9d053f",
|
||||
"rev": "3c0bb335936754a2683a84ddf081594ddb567a89",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -321,28 +190,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nickel": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676039663,
|
||||
"narHash": "sha256-fkIg8rJcnvT0kEdd4lqwp90rAe5RsxSOrWsmlXzD3Uo=",
|
||||
"owner": "tweag",
|
||||
"repo": "nickel",
|
||||
"rev": "38ca87438918b84ebe7287a040729e4afd8c75b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tweag",
|
||||
"repo": "nickel",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -350,11 +197,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676172252,
|
||||
"narHash": "sha256-Q5yJPpgbvOTgB0NQTJmlx3di1Sj5QQhSrjv38u6MzsQ=",
|
||||
"lastModified": 1673752441,
|
||||
"narHash": "sha256-/g4ImZWV05CrXRWTSJsda6ztIp7LAPxs2L6RCrbQ66U=",
|
||||
"owner": "mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "89e3b689e0ae9bac4c6cdc24d1085d81baeebde4",
|
||||
"rev": "391180f77505c1c8cdd45fe1a59dc89d3e40300a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -365,8 +212,8 @@
|
|||
},
|
||||
"nixgl": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_5",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
|
@ -381,11 +228,11 @@
|
|||
},
|
||||
"nixlib": {
|
||||
"locked": {
|
||||
"lastModified": 1676163193,
|
||||
"narHash": "sha256-6cTwPLtRHsRrIlKnEg3gQ9L+MYdx87eHdRqlTUi4H8Y=",
|
||||
"lastModified": 1673743903,
|
||||
"narHash": "sha256-sloY6KYyVOozJ1CkbgJPpZ99TKIjIvM+04V48C04sMQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "d3e61f845dbbb77f10900603993c6f00bdfa9fd4",
|
||||
"rev": "7555e2dfcbac1533f047021f1744ac8871150f9f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -410,38 +257,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1673800717,
|
||||
"narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-22.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1674211260,
|
||||
"narHash": "sha256-xU6Rv9sgnwaWK7tgCPadV6HhI2Y/fl4lKxJoG2+m9qs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5ed481943351e9fd354aeb557679624224de38d5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1660551188,
|
||||
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
|
||||
|
@ -456,13 +272,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1676300157,
|
||||
"narHash": "sha256-1HjRzfp6LOLfcj/HJHdVKWAkX9QRAouoh6AjzJiIerU=",
|
||||
"lastModified": 1673631141,
|
||||
"narHash": "sha256-AprpYQ5JvLS4wQG/ghm2UriZ9QZXvAwh1HlgA/6ZEVQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "545c7a31e5dedea4a6d372712a18e00ce097d462",
|
||||
"rev": "befc83905c965adfd33e5cae49acb0351f6e0404",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -471,7 +287,7 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1665296151,
|
||||
"narHash": "sha256-uOB0oxqxN9K7XGF1hcnY+PQnlQJ+3bP2vCn/+Ru/bbc=",
|
||||
|
@ -487,34 +303,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-utils": [
|
||||
"nickel",
|
||||
"flake-utils"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1674122161,
|
||||
"narHash": "sha256-9QM4rvgUSEwO8DWtJN9sR/afEqrH1s3b6ACsZT5wiAM=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "53e766957b73298fa68b47478c48cbcc005cc18a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
|
@ -523,77 +311,24 @@
|
|||
"home-manager": "home-manager",
|
||||
"kpcli-py": "kpcli-py",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nickel": "nickel",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixgl": "nixgl",
|
||||
"nixlib": "nixlib",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"rust-overlay": "rust-overlay_3"
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"rust-overlay": "rust-overlay"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nickel",
|
||||
"crane",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"crane",
|
||||
"nixpkgs"
|
||||
]
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1672712534,
|
||||
"narHash": "sha256-8S0DdMPcbITnlOu0uA81mTo3hgX84wK8S9wS34HEFY4=",
|
||||
"lastModified": 1673922364,
|
||||
"narHash": "sha256-U0XIY/Y/x4fFtlCZKMtWlqOYUnLiXj4F42GQHxWuPow=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "69fb7bf0a8c40e6c4c197fa1816773774c8ac59f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_2": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nickel",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1674267882,
|
||||
"narHash": "sha256-53sIczqxA5BbrhgO6l54DSisDqHvQ3UUwbSqBryA/k0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "1fd6d280c132f4facad8cd023543fb10121e6487",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_3": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_6",
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676341851,
|
||||
"narHash": "sha256-T8cmSiriXdpZfqlserNyJ1solTCR0DbD8A75epSDOVY=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "956ddb5047f98ea08b792b22004b94a9971932c4",
|
||||
"rev": "4e0f9b8a5102387f8d19901bced16a256a6ccdc7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
url = "github:mic92/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nickel.url = "github:tweag/nickel";
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
@ -52,7 +51,6 @@
|
|||
, neovim-nightly-overlay
|
||||
, nix-index-database
|
||||
, nixlib
|
||||
, nickel
|
||||
, ...
|
||||
}@_inputs:
|
||||
let
|
||||
|
@ -60,7 +58,6 @@
|
|||
# this function should take simple exports of homeConfigurations.${profile},
|
||||
# nixosConfigurations.${profile}, devShells.${profile}, packages.${profile}
|
||||
# and correctly produce
|
||||
supported_systems = flake-utils.lib.defaultSystems;
|
||||
cross_platform = config_fn: let
|
||||
# nixosConfigurations.${profile} -> nixosConfigurations.${system}.${profile}
|
||||
# pass in: path.to.exports.nixosConfigurations
|
||||
|
@ -94,7 +91,7 @@
|
|||
(acc: confName: (strategyMap."${confName}" confName config."${confName}" system))
|
||||
{} (builtins.attrNames config));
|
||||
in builtins.foldl' nixlib.lib.recursiveUpdate {} (
|
||||
builtins.map (system: (mapConfig (config_fn system) system)) supported_systems
|
||||
builtins.map (system: (mapConfig (config_fn system) system)) flake-utils.lib.defaultSystems
|
||||
);
|
||||
in cross_platform (system:
|
||||
let
|
||||
|
@ -176,6 +173,6 @@
|
|||
debug = {
|
||||
inherit final_inputs hosts users modules lib inputs_w_lib unit_tests pkgs nixpkgs nixlib;
|
||||
};
|
||||
# formatter."${system}" = pkgs.nixpkgs-fmt;
|
||||
formatter."${system}" = pkgs.nixpkgs-fmt;
|
||||
});
|
||||
}
|
||||
|
|
|
@ -58,7 +58,6 @@ Plug('hrsh7th/cmp-cmdline')
|
|||
Plug('hrsh7th/nvim-cmp')
|
||||
Plug('onsails/lspkind-nvim')
|
||||
Plug('yioneko/nvim-yati', { tag = '*' }) -- copium: fix Python indent auto-correct from smart-indent
|
||||
Plug('nathanalderson/yang.vim')
|
||||
-- Plug('tzachar/cmp-tabnine', { ['do'] = './install.sh' })
|
||||
|
||||
-- DevExp
|
||||
|
@ -366,7 +365,7 @@ require('nvim-treesitter.configs').setup {
|
|||
ensure_installed = {
|
||||
'tsx', 'toml', 'lua', 'typescript', 'rust', 'go', 'yaml', 'json', 'php', 'css',
|
||||
'python', 'prisma', 'html', "dockerfile", "c", "cpp", "hcl", "svelte", "astro",
|
||||
"clojure", "fennel", "bash", "nix", "query", "nickel"
|
||||
"clojure", "fennel", "bash", "nix", "query",
|
||||
},
|
||||
sync_install = false,
|
||||
highlight = {
|
||||
|
@ -609,7 +608,7 @@ local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|||
local servers = {
|
||||
'clangd', 'rust_analyzer', 'pyright', 'tsserver', 'sumneko_lua', 'cmake', 'tailwindcss', 'prismals',
|
||||
'rnix', 'eslint', 'terraformls', 'tflint', 'svelte', 'astro', 'clojure_lsp', "bashls", 'yamlls', "ansiblels",
|
||||
"jsonls", "denols", "gopls", "nickel_ls"
|
||||
"jsonls", "denols"
|
||||
}
|
||||
require("mason").setup({
|
||||
ui = {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
Host *
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
IdentityFile ~/.ssh/id_ed25519
|
||||
|
||||
# felia mirror on windows
|
||||
Host felia-win
|
||||
|
@ -53,41 +52,3 @@ Host noami
|
|||
User htran
|
||||
Port 22
|
||||
|
||||
Host sr1
|
||||
HostName 10.30.76.46
|
||||
User htran
|
||||
Port 22
|
||||
HostKeyAlgorithms=+ssh-dss,ssh-rsa
|
||||
KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
|
||||
|
||||
Host d1-30
|
||||
HostName 10.111.103.60
|
||||
User htran
|
||||
Port 22
|
||||
|
||||
Host dev0
|
||||
HostName 10.100.200.230
|
||||
User root
|
||||
Port 22
|
||||
|
||||
Host dev1
|
||||
HostName 10.100.200.220
|
||||
User htran
|
||||
Port 22
|
||||
|
||||
|
||||
Host ztp-egi
|
||||
HostName 10.23.27.201
|
||||
User root
|
||||
Port 22
|
||||
|
||||
Host d3l-3
|
||||
HostName 10.111.103.65
|
||||
User htran
|
||||
Port 22
|
||||
|
||||
Host goat
|
||||
HostName 10.133.32.100
|
||||
User "EGN NOC"
|
||||
Port 22
|
||||
|
||||
|
|
|
@ -6,6 +6,23 @@
|
|||
# might be different from `home-manager`'s
|
||||
{ pkgs, lib, config, proj_root, ... }:
|
||||
let
|
||||
# NOTE: Failure 1: buildInputs is pretty much ignored
|
||||
# my_neovim = pkgs.neovim-unwrapped.overrideDerivation (old: {
|
||||
# # TODO: is there a more beautiful way to override propagatedBuildInputs?
|
||||
# name = "hungtr-" + old.name;
|
||||
# buildInputs = (old.buildInputs or []) ++ [
|
||||
# pkgs.tree-sitter # highlighting
|
||||
# rust_pkgs # for potentially rust-analyzer
|
||||
# pkgs.fzf
|
||||
# pkgs.ripgrep
|
||||
# pkgs.zk
|
||||
# pkgs.fd
|
||||
# ];
|
||||
# NOTE: Failure 2: propagatedBuildInputs probably only concerns dyn libs
|
||||
# });
|
||||
# NOTE: Failure 3: must be unwrapped neovim because home-manager does the wrapping
|
||||
# my_neovim = pkgs.neovim;
|
||||
|
||||
# NOTE: Add packages to nvim_pkgs instead, so that it's available at userspace
|
||||
# and is added to the path after wrapping.
|
||||
# check: nix repl `homeConfigurations.hungtr.config.programs.neovim.finalPackage.buildCommand`
|
||||
|
@ -30,10 +47,6 @@ let
|
|||
pkgs.stdenv.cc.cc.lib
|
||||
pkgs.rnix-lsp # doesn't work, Mason just installs it using cargo
|
||||
pkgs.rust4cargo
|
||||
pkgs.nickel
|
||||
pkgs.lsp-nls
|
||||
|
||||
pkgs.go
|
||||
|
||||
|
||||
# Language-specific stuffs
|
||||
|
@ -43,8 +56,8 @@ let
|
|||
pkgs.python3Packages.pylint
|
||||
pkgs.python3Packages.flake8
|
||||
# pkgs.ansible-lint
|
||||
# pkgs.python38Packages.ansible
|
||||
# pkgs.ansible-language-server
|
||||
pkgs.python38Packages.ansible
|
||||
pkgs.ansible-language-server
|
||||
# TODO: the devShell should provide rust-analyzer so that
|
||||
# cargo test builds binaries compatible with rust-analyzer
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ in
|
|||
'';
|
||||
};
|
||||
};
|
||||
config = lib.mkIf (cfg.enable) {
|
||||
config = lib.mkIf cfg.enable {
|
||||
# home.packages = [pkgs.ungoogled-chromium];
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
|
|
|
@ -88,8 +88,7 @@ in
|
|||
"command-not-found" # suggests which package to install; does not support nixos (we have solution already)
|
||||
"gitignore" # `gi list` -> `gi java >>.gitignore`
|
||||
"ripgrep" # adds completion for `rg`
|
||||
"rust" # compe for rustc/cargo
|
||||
"poetry" # compe for poetry - Python's cargo
|
||||
"rust" # compe for rustc/cargo
|
||||
# "vi-mode" # edit promps with vi motions :)
|
||||
];
|
||||
};
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
(
|
||||
let
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
c_ = import ./../../c_.nix;
|
||||
c_ = import ./../../c_.nix {src = ./.;};
|
||||
in
|
||||
c_.fetchTree lock.nodes.flake-compat.locked
|
||||
)
|
||||
|
|
|
@ -1,29 +1,5 @@
|
|||
{
|
||||
"nodes": {
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673405853,
|
||||
"narHash": "sha256-6Nq9DuOo+gE2I8z5UZaKuumykz2xxZ9JGYmUthOuwSA=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "b13963c8c18026aa694acd98d14f66d24666f70b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -53,38 +29,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1668681692,
|
||||
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
|
@ -117,11 +61,11 @@
|
|||
},
|
||||
"flake-utils_3": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -131,21 +75,6 @@
|
|||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_5": {
|
||||
"locked": {
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
|
@ -160,43 +89,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_6": {
|
||||
"locked": {
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660459072,
|
||||
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -278,28 +170,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nickel": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676039663,
|
||||
"narHash": "sha256-fkIg8rJcnvT0kEdd4lqwp90rAe5RsxSOrWsmlXzD3Uo=",
|
||||
"owner": "tweag",
|
||||
"repo": "nickel",
|
||||
"rev": "38ca87438918b84ebe7287a040729e4afd8c75b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tweag",
|
||||
"repo": "nickel",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -322,8 +192,8 @@
|
|||
},
|
||||
"nixgl": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_5",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
|
@ -352,38 +222,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1673800717,
|
||||
"narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-22.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1674211260,
|
||||
"narHash": "sha256-xU6Rv9sgnwaWK7tgCPadV6HhI2Y/fl4lKxJoG2+m9qs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5ed481943351e9fd354aeb557679624224de38d5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1660551188,
|
||||
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
|
||||
|
@ -398,7 +237,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1673796341,
|
||||
"narHash": "sha256-1kZi9OkukpNmOaPY7S5/+SlCDOuYnP3HkXHvNDyLQcc=",
|
||||
|
@ -414,7 +253,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1665296151,
|
||||
"narHash": "sha256-uOB0oxqxN9K7XGF1hcnY+PQnlQJ+3bP2vCn/+Ru/bbc=",
|
||||
|
@ -430,34 +269,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-utils": [
|
||||
"nickel",
|
||||
"flake-utils"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1674122161,
|
||||
"narHash": "sha256-9QM4rvgUSEwO8DWtJN9sR/afEqrH1s3b6ACsZT5wiAM=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "53e766957b73298fa68b47478c48cbcc005cc18a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
|
@ -465,69 +276,16 @@
|
|||
"home-manager": "home-manager",
|
||||
"kpcli-py": "kpcli-py",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nickel": "nickel",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixgl": "nixgl",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"rust-overlay": "rust-overlay_3"
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"rust-overlay": "rust-overlay"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nickel",
|
||||
"crane",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"crane",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1672712534,
|
||||
"narHash": "sha256-8S0DdMPcbITnlOu0uA81mTo3hgX84wK8S9wS34HEFY4=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "69fb7bf0a8c40e6c4c197fa1816773774c8ac59f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_2": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nickel",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nickel",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1674267882,
|
||||
"narHash": "sha256-53sIczqxA5BbrhgO6l54DSisDqHvQ3UUwbSqBryA/k0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "1fd6d280c132f4facad8cd023543fb10121e6487",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_3": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_6",
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673922364,
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
url = "github:mic92/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nickel.url = "github:tweag/nickel";
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
@ -50,7 +49,6 @@
|
|||
, flake-utils
|
||||
, kpcli-py
|
||||
, neovim-nightly-overlay
|
||||
, nickel
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
|
@ -173,10 +171,6 @@
|
|||
inherit pkgs;
|
||||
modules = base.modules ++ [
|
||||
./home.nix
|
||||
./base/productive_desktop.nix
|
||||
{
|
||||
base.private_chromium.enable = false;
|
||||
}
|
||||
{
|
||||
base.graphics.enable = false;
|
||||
# don't want to deal with GL stuffs on mac yet :/
|
||||
|
|
|
@ -33,7 +33,7 @@ in
|
|||
pkgs.zip # compression
|
||||
|
||||
# cool utilities
|
||||
pkgs.yq-go # Yaml adaptor for jq (only pretty print, little query)
|
||||
pkgs.yq # Yaml adaptor for jq (only pretty print, little query)
|
||||
# pkgs.xorg.xclock # TODO: only include if have gui # For testing GL installation
|
||||
# pkgs.logseq # TODO: only include if have GL # Obsidian alt
|
||||
pkgs.mosh # Parsec for SSH
|
||||
|
|
|
@ -3,7 +3,6 @@ flake_input@{ kpcli-py
|
|||
, rust-overlay
|
||||
, neovim-nightly-overlay
|
||||
, system
|
||||
, nickel
|
||||
, ...
|
||||
}: let
|
||||
kpcli-py = (final: prev: {
|
||||
|
@ -37,17 +36,11 @@ flake_input@{ kpcli-py
|
|||
rust4cargo = nightlyRustWithExts [ ];
|
||||
rust4normi = nightlyRustWithExts rust-default-components;
|
||||
});
|
||||
|
||||
nickel = (final: prev: {
|
||||
inherit (flake_input.nickel.packages.${system})
|
||||
lsp-nls nickel nickelWasm;
|
||||
});
|
||||
in [
|
||||
nixgl.overlays.default
|
||||
rust-overlay.overlays.default
|
||||
neovim-nightly-overlay.overlay
|
||||
rust
|
||||
kpcli-py
|
||||
nickel
|
||||
]
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
(
|
||||
let
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
in (import ./c_.nix).fetchTree lock.nodes.flake-compat.locked
|
||||
in (import ./c_.nix {src = ./.;}).fetchTree lock.nodes.flake-compat.locked
|
||||
)
|
||||
{ src = ./.; }
|
||||
).shellNix
|
||||
|
|
|
@ -23,11 +23,6 @@ poetry init
|
|||
|
||||
### Libraries worth integrating
|
||||
|
||||
- [pytest](https://github.com/pytest-dev/pytest) Testing framework for Python
|
||||
|
||||
```sh
|
||||
poetry add --group dev pytest
|
||||
```
|
||||
- [tophat/syrupy](https://github.com/tophat/syrupy) Snapshot testing plugin for (builtin) pytest
|
||||
|
||||
```sh
|
||||
|
|
Loading…
Reference in New Issue