Merge branch 'main' into feature/basic-iso

This commit is contained in:
teutat3s 2022-04-30 16:04:59 +02:00
commit 970e6de8a7
Signed by untrusted user: teutat3s
GPG key ID: 4FA1D3FA524F22C1
15 changed files with 278 additions and 250 deletions

10
.envrc
View file

@ -1,3 +1,13 @@
# reload when these files change # reload when these files change
watch_file shell/* flake.nix watch_file shell/* flake.nix
use flake || use nix use flake || use nix
#watch_file flake.nix
#watch_file shell.nix
#
#{
# # shell gc root dir
# mkdir -p "$(direnv_layout_dir)"
#
# eval "$(nix print-dev-env --profile $(direnv_layout_dir)/flake-profile)"
#} || use nix

View file

@ -58,14 +58,15 @@ following giants][giants]:
- [devshell](https://github.com/numtide/devshell) - [devshell](https://github.com/numtide/devshell)
## Divnix ## Divnix
The divnix org is an open space that spontaniously formed out of "the Nix". The divnix org is an open space that spontaneously formed out of "the Nix".
It is really just a place where otherwise unrelated people a) get It is really just a place where otherwise unrelated people work
together and b) stuff done. together and get stuff done.
It's a place to stop "geeking out in isolation" (or within company boundaries), It's a place to stop "geeking out in isolation" (or within company boundaries).
experiment and learn together and iterate quickly on best practices. That's what it is. A place to experiment, learn together, and iterate quickly on best practices.
That's what it is.
It might eventually become a non-profit if that's not too complicated or if those It might eventually become a non-profit if that's not too complicated or, if those
goals are sufficiently upstreamed into "the Nix", dissolved. goals are sufficiently upstreamed into "the Nix", dissolved.
# License # License

View file

@ -14,7 +14,7 @@ to easily setup those secret files declaratively.
[agenix][agenix] encrypts secrets and stores them as .age files in your repository. [agenix][agenix] encrypts secrets and stores them as .age files in your repository.
Age files are encrypted with multiple ssh public keys, so any host or user with a Age files are encrypted with multiple ssh public keys, so any host or user with a
matching ssh private key can read the data. The [age module][age module] will add those matching ssh private key can read the data. The [age module][age module] will add those
encrypted files to the nix store and decrypt them on activation to `/run/secrets`. encrypted files to the nix store and decrypt them on activation to `/run/agenix`.
### Setup ### Setup
All hosts must have openssh enabled, this is done by default in the core profile. All hosts must have openssh enabled, this is done by default in the core profile.

View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1641576265, "lastModified": 1648942457,
"narHash": "sha256-G4W39k5hdu2kS13pi/RhyTOySAo7rmrs7yMUZRH0OZI=", "narHash": "sha256-i29Z1t3sVfCNfpp+KAfeExvpqHQSbLO1KWylTtfradU=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "08b9c96878b2f9974fc8bde048273265ad632357", "rev": "0d5e59ed645e4c7b60174bc6f6aac6a203dc0b01",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -87,11 +87,32 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1642495030, "lastModified": 1650976225,
"narHash": "sha256-u1ZlFbLWzkM6zOfuZ1tr0tzTuDWucOYwALPWDWLorkE=", "narHash": "sha256-PGM65SQHS63Dd5MmLJo3GJsZP9lJVZmpWxluQoG1Dt8=",
"owner": "LnL7", "owner": "LnL7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "bcdb6022b3a300abf59cb5d0106c158940f5120e", "rev": "bb3baef6e115ae47bc2ab4973bd3a486488485b0",
"type": "github"
},
"original": {
"owner": "LnL7",
"repo": "nix-darwin",
"type": "github"
}
},
"darwin_2": {
"inputs": {
"nixpkgs": [
"digga",
"nixpkgs"
]
},
"locked": {
"lastModified": 1650976225,
"narHash": "sha256-PGM65SQHS63Dd5MmLJo3GJsZP9lJVZmpWxluQoG1Dt8=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "bb3baef6e115ae47bc2ab4973bd3a486488485b0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -102,7 +123,6 @@
}, },
"deploy": { "deploy": {
"inputs": { "inputs": {
"fenix": "fenix",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"nixpkgs": [ "nixpkgs": [
"nixos" "nixos"
@ -110,26 +130,33 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1639771334, "lastModified": 1648475189,
"narHash": "sha256-4hgZmsCPaL5QlcEijHmzaYYrEwHtUFqraCUrCqLGJOo=", "narHash": "sha256-gAGAS6IagwoUr1B0ohE3iR6sZ8hP4LSqzYLC8Mq3WGU=",
"owner": "input-output-hk", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "7267eab9139ca4476fd8ed49e2e8652bba4c037f", "rev": "83e0c78291cd08cb827ba0d553ad9158ae5a95c3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "input-output-hk", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"type": "github" "type": "github"
} }
}, },
"devshell": { "devshell": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"digga",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1637575296, "lastModified": 1650389807,
"narHash": "sha256-ZY8YR5u8aglZPe27+AJMnPTG6645WuavB+w0xmhTarw=", "narHash": "sha256-GFRBdHMJ/T/ifaE2GS58RWpxyufH0LqI3oGS6oWAnHk=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "0e56ef21ba1a717169953122c7415fa6a8cd2618", "rev": "5a53bbf3eb4c908d83884d725a86b3a3bde35979",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -141,10 +168,12 @@
"digga": { "digga": {
"inputs": { "inputs": {
"blank": "blank", "blank": "blank",
"darwin": "darwin_2",
"deploy": [ "deploy": [
"deploy" "deploy"
], ],
"devshell": "devshell", "devshell": "devshell",
"flake-compat": "flake-compat_2",
"flake-utils-plus": "flake-utils-plus", "flake-utils-plus": "flake-utils-plus",
"home-manager": [ "home-manager": [
"home" "home"
@ -153,17 +182,17 @@
"nixlib": [ "nixlib": [
"nixos" "nixos"
], ],
"nixos-generators": "nixos-generators",
"nixpkgs": [ "nixpkgs": [
"nixos" "nixos"
] ],
"nixpkgs-unstable": "nixpkgs-unstable"
}, },
"locked": { "locked": {
"lastModified": 1643510242, "lastModified": 1651210705,
"narHash": "sha256-9C9DyJhQ5bevk0CEEjGct+U9EqUgHg8T70nxz47zjMI=", "narHash": "sha256-2RzKrjEnWDhsBQ4Et2gm2LjV5pXyszeqV1xNe+LtNT8=",
"owner": "divnix", "owner": "divnix",
"repo": "digga", "repo": "digga",
"rev": "33bfb05b8a148d8ad6a842de74e22209bf9fe5d7", "rev": "0ffa2dff5ede12a03ca83fbc514972f94cf18f42",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -172,33 +201,14 @@
"type": "github" "type": "github"
} }
}, },
"fenix": {
"inputs": {
"nixpkgs": "nixpkgs_3",
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1639117493,
"narHash": "sha256-67H9uXUdauaqMfkcKzpgHR3GeOKPAwOs6G3C1VpT67o=",
"owner": "nix-community",
"repo": "fenix",
"rev": "94b5686cad2ed210da106b0b7e1e212dab43fbf2",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1627913399, "lastModified": 1648199409,
"narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", "narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", "rev": "64a525ee38886ab9028e6f61790de0832aa3ef03",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -210,11 +220,27 @@
"flake-compat_2": { "flake-compat_2": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1627913399, "lastModified": 1650374568,
"narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", "rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1648199409,
"narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "64a525ee38886ab9028e6f61790de0832aa3ef03",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -243,11 +269,11 @@
"flake-utils": "flake-utils_3" "flake-utils": "flake-utils_3"
}, },
"locked": { "locked": {
"lastModified": 1639385028, "lastModified": 1647259887,
"narHash": "sha256-oqorKz3mwf7UuDJwlbCEYCB2LfcWLL0DkeCWhRIL820=", "narHash": "sha256-yEkMbEHVO9qydluQ3uHGWX1PkfZhgDKxnd1rhZYZ72w=",
"owner": "gytis-ivaskevicius", "owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus", "repo": "flake-utils-plus",
"rev": "be1be083af014720c14f3b574f57b6173b4915d0", "rev": "06dba5f3b4fa2cc0bfc98ce9cd6f9a4d8db11d46",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -273,11 +299,11 @@
}, },
"flake-utils_3": { "flake-utils_3": {
"locked": { "locked": {
"lastModified": 1638122382, "lastModified": 1644229661,
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -288,11 +314,11 @@
}, },
"flake-utils_4": { "flake-utils_4": {
"locked": { "locked": {
"lastModified": 1638122382, "lastModified": 1644229661,
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -303,11 +329,11 @@
}, },
"flake-utils_5": { "flake-utils_5": {
"locked": { "locked": {
"lastModified": 1638122382, "lastModified": 1649676176,
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -323,11 +349,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1642653493, "lastModified": 1651007218,
"narHash": "sha256-22mGPjiHUo2Jmze4IjXCJLjeK2mbvvCztHmUyUMr4yw=", "narHash": "sha256-NkQAMtqW0PSJTbLHalyZtaqj0ai2TZMOedug9yDIcFw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "28b9ae40c45c5e7711c353fee1b7af734e293979", "rev": "d14adb99f3fb562ec74ad18c032efc154b438034",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -339,11 +365,11 @@
}, },
"latest": { "latest": {
"locked": { "locked": {
"lastModified": 1643347846, "lastModified": 1650701402,
"narHash": "sha256-O0tyXF//ppRpe9yT1Uu5n34yI2MWDyY6ZiJ4Qn5zIkE=", "narHash": "sha256-XKfstdtqDg+O+gNBx1yGVKWIhLgfEDg/e2lvJSsp9vU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5bb20f9dc70e9ee16e21cc404b6508654931ce41", "rev": "bc41b01dd7a9fdffd32d9b03806798797532a5fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -355,11 +381,11 @@
}, },
"latest_2": { "latest_2": {
"locked": { "locked": {
"lastModified": 1643347846, "lastModified": 1651007983,
"narHash": "sha256-O0tyXF//ppRpe9yT1Uu5n34yI2MWDyY6ZiJ4Qn5zIkE=", "narHash": "sha256-GNay7yDPtLcRcKCNHldug85AhAvBpTtPEJWSSDYBw8U=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5bb20f9dc70e9ee16e21cc404b6508654931ce41", "rev": "e10da1c7f542515b609f8dfbcf788f3d85b14936",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -376,11 +402,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1639947939, "lastModified": 1650265945,
"narHash": "sha256-pGsM8haJadVP80GFq4xhnSpNitYNQpaXk4cnA796Cso=", "narHash": "sha256-SO8+1db4jTOjnwP++29vVgImLIfETSXyoz0FuLkiikE=",
"owner": "nmattia", "owner": "nmattia",
"repo": "naersk", "repo": "naersk",
"rev": "2fc8ce9d3c025d59fee349c1f80be9785049d653", "rev": "e8f9f8d037774becd82fce2781e1abdb7836d7df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -392,14 +418,16 @@
"nix-dram": { "nix-dram": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_5" "nixpkgs": [
"latest"
]
}, },
"locked": { "locked": {
"lastModified": 1643638527, "lastModified": 1649569158,
"narHash": "sha256-NoRwXgTk3zHaTM4egk4MbEnV7RTXWUTon3OiG0GHjhE=", "narHash": "sha256-Wtmiyu/1d+3YGGcRxTnQyEtnJaKKR/Ry0kNbOY48Afs=",
"owner": "dramforever", "owner": "dramforever",
"repo": "nix-dram", "repo": "nix-dram",
"rev": "86350dcada08e6f41fedd20f8c25a3a199a3be7d", "rev": "84c47c0dc93c77f7edfd996f71618d278844c1c4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -410,11 +438,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1641688481, "lastModified": 1636849918,
"narHash": "sha256-6L+EU12xLDHby7y8elgFtRKVBxix+7qV8DhVgXqrKZo=", "narHash": "sha256-nzUK6dPcTmNVrgTAC1EOybSMsrcx+QrVPyqRdyKLkjA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "f697717b3d3a074ffc16c8c8227504f0db292886", "rev": "28a5b0557f14124608db68d3ee1f77e9329e9dd5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -425,16 +453,16 @@
}, },
"nixos": { "nixos": {
"locked": { "locked": {
"lastModified": 1643630271, "lastModified": 1651093906,
"narHash": "sha256-0H+50Ys/8/rjE+64vpFRjwnDwthDfHh45IDpZ2BiECg=", "narHash": "sha256-kHXSbv+Hc73eV0/JVJ5YsJGr08bA4vJ3/XZew5PgZg0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "83a53b4adf04607af34060b2f7699a412fc9bc3d", "rev": "feea25c58657fa81d16e0e51f80e1a02ef4cbd49",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "release-21.11", "ref": "nixos-21.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -442,14 +470,14 @@
"nixos-generators": { "nixos-generators": {
"inputs": { "inputs": {
"nixlib": "nixlib", "nixlib": "nixlib",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1637655461, "lastModified": 1650997411,
"narHash": "sha256-kXZPbclN3gKwjhp2/RYFDFpAsSBwzX1iLF4EcnHZsPQ=", "narHash": "sha256-r4a3qsSv5UTtx+pxTUEdOphBkwTx1+AAVog3c457A0M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "05a3eb158a9c7746a5d463726d7f7cccf07500e4", "rev": "3cdf22c79bc80910e2b610cd59fcb8408354ddbc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -460,11 +488,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1641965797, "lastModified": 1650522846,
"narHash": "sha256-AfxfIzAZbt9aAzpVBn0Bwhd/M4Wix7G91kEjm9H6FPo=", "narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "87a35a0d58f546dc23f37b4f6af575d0e4be6a7a", "rev": "6b4ebea9093c997c5f275c820e679108de4871ab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -489,65 +517,34 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1643634174, "lastModified": 1650726686,
"narHash": "sha256-LpfTneNuLmXuTyR4hPXtr92g1YAZymJUQxdHjTCi79w=", "narHash": "sha256-hE5PCqQlsdgWH3AUTwesvjZWs5ZUZ8SjMS5cnFB6W54=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "589235201f2e0717bee4915bffff5330fa00ff41",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1638986258,
"narHash": "sha256-OceRdctKZRSgqQxVRvvNB0MaEnFMzQqjUffecoDE9eI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "581d2d6c9cd5c289002203581d8aa0861963a933", "rev": "3c0f57e36ed0cf9947281e3b31f1bebb7ce5d4a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1643381941,
"narHash": "sha256-pHTwvnN4tTsEKkWlXQ8JMY423epos8wUOhthpwJjtpc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5efc8ca954272c4376ac929f4c5ffefcc20551d5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1643524588, "lastModified": 1637186689,
"narHash": "sha256-Qh5AazxdOQRORbGkkvpKoovDl6ej/4PhDabFsqnueqw=", "narHash": "sha256-NU7BhgnwA/3ibmCeSzFK6xGi+Bari9mPfn+4cBmyEjw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "efeefb2af1469a5d1f0ae7ca8f0dfd9bb87d5cfb", "rev": "7fad01d9d5a3f82081c00fb57918d64145dc904c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -567,18 +564,18 @@
}, },
"nvfetcher": { "nvfetcher": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_5", "flake-utils": "flake-utils_5",
"nixpkgs": [ "nixpkgs": [
"nixos" "nixos"
] ]
}, },
"locked": { "locked": {
"lastModified": 1643518077, "lastModified": 1650169042,
"narHash": "sha256-FHhKjrPxvCv1aywLeqJi3kARDql7cwaj2jcpWp42Xhw=", "narHash": "sha256-x8469XNOU/ebIh5YCuvjcOAaAptwHjkEl1aTFrevu1o=",
"owner": "berberman", "owner": "berberman",
"repo": "nvfetcher", "repo": "nvfetcher",
"rev": "1b4adc9dac4c5f2c3ce14fdaf2702f9ce6bec491", "rev": "db780dba6923e531b5aedca502a36d3d9627fca9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -589,8 +586,16 @@
}, },
"poetry2nix": { "poetry2nix": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": [
"nixpkgs": "nixpkgs_2" "bud",
"beautysh",
"flake-utils"
],
"nixpkgs": [
"bud",
"beautysh",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1633382856, "lastModified": 1633382856,
@ -618,35 +623,19 @@
"naersk": "naersk", "naersk": "naersk",
"nix-dram": "nix-dram", "nix-dram": "nix-dram",
"nixos": "nixos", "nixos": "nixos",
"nixos-generators": "nixos-generators",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nur": "nur", "nur": "nur",
"nvfetcher": "nvfetcher" "nvfetcher": "nvfetcher"
} }
}, },
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1639071661,
"narHash": "sha256-4YySLORuK0qGGIEJj78S7CZ4jy4GIHJ5ks17k5AWblo=",
"owner": "rust-analyzer",
"repo": "rust-analyzer",
"rev": "2534b7db1a093543d5bd759b3a1ca9e34418fa31",
"type": "github"
},
"original": {
"owner": "rust-analyzer",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"utils": { "utils": {
"locked": { "locked": {
"lastModified": 1637014545, "lastModified": 1648297722,
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -2,12 +2,13 @@
description = "A highly structured configuration database."; description = "A highly structured configuration database.";
nixConfig.extra-experimental-features = "nix-command flakes"; nixConfig.extra-experimental-features = "nix-command flakes";
nixConfig.extra-substituters = "https://nrdxp.cachix.org https://nix-community.cachix.org"; nixConfig.extra-substituters = "https://nix-dram.cachix.org https://dram.cachix.org https://nrdxp.cachix.org https://nix-community.cachix.org";
nixConfig.extra-trusted-public-keys = "nrdxp.cachix.org-1:Fc5PSqY2Jm1TrWfm88l6cvGWwz3s93c6IOifQWnhNW4= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="; nixConfig.extra-trusted-public-keys = "nix-dram.cachix.org-1:CKjZ0L1ZiqH3kzYAZRt8tg8vewAx5yj8Du/+iR8Efpg= dram.cachix.org-1:baoy1SXpwYdKbqdTbfKGTKauDDeDlHhUpC+QuuILEMY= nrdxp.cachix.org-1:Fc5PSqY2Jm1TrWfm88l6cvGWwz3s93c6IOifQWnhNW4= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=";
inputs = inputs =
{ {
nixos.url = "github:nixos/nixpkgs/release-21.11"; # Track channels with commits tested and built by hydra
nixos.url = "github:nixos/nixpkgs/nixos-21.11";
latest.url = "github:nixos/nixpkgs/nixos-unstable"; latest.url = "github:nixos/nixpkgs/nixos-unstable";
digga.url = "github:divnix/digga"; digga.url = "github:divnix/digga";
@ -26,7 +27,7 @@
darwin.url = "github:LnL7/nix-darwin"; darwin.url = "github:LnL7/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixos"; darwin.inputs.nixpkgs.follows = "nixos";
deploy.url = "github:input-output-hk/deploy-rs"; deploy.url = "github:serokell/deploy-rs";
deploy.inputs.nixpkgs.follows = "nixos"; deploy.inputs.nixpkgs.follows = "nixos";
agenix.url = "github:ryantm/agenix"; agenix.url = "github:ryantm/agenix";
@ -40,8 +41,11 @@
nixos-hardware.url = "github:nixos/nixos-hardware"; nixos-hardware.url = "github:nixos/nixos-hardware";
nixos-generators.url = "github:nix-community/nixos-generators";
# PubSolarOS additions # PubSolarOS additions
nix-dram.url = "github:dramforever/nix-dram"; nix-dram.url = "github:dramforever/nix-dram";
nix-dram.inputs.nixpkgs.follows = "latest";
}; };
outputs = outputs =
@ -142,15 +146,6 @@
homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations; homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations;
deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { }; deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { };
defaultTemplate = self.templates.bud;
templates.bud.path = ./.;
templates.bud.description = "bud template";
} }
//
{
budModules = { devos = import ./shell/bud; };
}
; ;
} }

View file

@ -106,6 +106,23 @@
cursor = "0xe3e1e4"; cursor = "0xe3e1e4";
}; };
# Colors used for the search bar and match highlighting.
search = {
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
matches = {
foreground = "0xe5c463";
background = "0x1a181a";
};
focused_match = {
foreground = "0xe5c463";
background = "0xe3e1e4";
};
#bar =
# background = "#c5c8c6";
# foreground = "#1d1f21";
};
# Normal colors # Normal colors
normal = { normal = {
black = "0x1a181a"; black = "0x1a181a";

View file

@ -20,6 +20,8 @@ in
gnome3.simple-scan gnome3.simple-scan
# Tools like pdfunite # Tools like pdfunite
poppler_utils poppler_utils
# tool for annotating PDFs
xournalpp
]; ];
}; };
}; };

View file

@ -15,33 +15,16 @@ let
}; };
}; };
sonokai = pkgs.vimUtils.buildVimPlugin {
name = "sonokai";
src = pkgs.fetchFromGitHub {
owner = "sainnhe";
repo = "sonokai";
rev = "51e7ee8b13f9c2e4eae33f8d745eaa1f320b0ae6";
sha256 = "0svqr6dnpk2p5qhb6j0rllns8f0f4886wxpx69wgazjx84bx728i";
};
};
suda = pkgs.vimUtils.buildVimPlugin {
name = "suda";
src = pkgs.fetchFromGitHub {
owner = "lambdalisue";
repo = "suda.vim";
rev = "fbb138f5090c3db4dabeba15326397a09df6b73b";
sha256 = "ztZ5UPd2y4Mkore/QLfMCwjM0Qy4eWCOw535NzDSfgY=";
};
};
workspace = pkgs.vimUtils.buildVimPlugin { workspace = pkgs.vimUtils.buildVimPlugin {
name = "vim-workspace"; name = "vim-workspace";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "thaerkh"; owner = "thaerkh";
repo = "vim-workspace"; repo = "vim-workspace";
rev = "faa835406990171bbbeff9254303dad49bad17cb"; rev = "c26b473f9b073f24bacecd38477f44c5cd1f5a62";
sha256 = "w6CcFcIplwUVcvx54rbTwThBxus1k7yHot2TpdNQ61M="; sha256 = "sha256-XV7opLyfkHIDO0+JJaO/x0za0gsHuklrzapTGdLHJmI=";
}; };
}; };
beautify = pkgs.vimUtils.buildVimPlugin { beautify = pkgs.vimUtils.buildVimPlugin {
name = "vim-beautify"; name = "vim-beautify";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
@ -51,6 +34,16 @@ let
sha256 = "QPTCl6KaGcAjTS5yVDov9yxmv0fDaFoPLMsrtVIG6GQ="; sha256 = "QPTCl6KaGcAjTS5yVDov9yxmv0fDaFoPLMsrtVIG6GQ=";
}; };
}; };
apprentice = pkgs.vimUtils.buildVimPlugin {
name = "vim-apprentice";
src = pkgs.fetchFromGitHub {
owner = "romainl";
repo = "Apprentice";
rev = "ecd41698037f15a58125b349be76dbd2595bfb6d";
sha256 = "sha256-9s7Yzn3IEJBjcyUq9NBIQ9wb45Xr7jOkEIoWf0lAYYg=";
};
};
in in
{ {
enable = true; enable = true;
@ -97,16 +90,20 @@ in
instant-nvim instant-nvim
ack-vim ack-vim
airline vim-airline
editorconfig-vim editorconfig-vim
nnn-vim nnn-vim
suda quick-scope
suda-vim
syntastic syntastic
vim-gutentags vim-gutentags
vim-vinegar vim-vinegar
workspace workspace
sonokai sonokai
vim-hybrid-material
vim-airline-themes
apprentice
fugitive fugitive
vim-gitgutter vim-gitgutter

View file

@ -8,43 +8,43 @@ set completeopt=menuone,noinsert,noselect
" Avoid showing extra messages when using completion " Avoid showing extra messages when using completion
set shortmess+=c set shortmess+=c
" Configure neovim 5 experimental LSPs " Configure neovim 0.6+ experimental LSPs
" https://github.com/neovim/nvim-lspconfig " https://github.com/neovim/nvim-lspconfig
" https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md " https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
" https://github.com/neovim/nvim-lspconfig/wiki/UI-Customization
" https://gitlab.com/Iron_E/dotfiles/-/blob/master/.config/nvim/lua/_config/plugin/nvim_lsp.lua " https://gitlab.com/Iron_E/dotfiles/-/blob/master/.config/nvim/lua/_config/plugin/nvim_lsp.lua
lua <<EOF lua <<EOF
local nvim_lsp = require('lspconfig') local nvim_lsp = require('lspconfig')
-- Mappings (global)
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
local opts = { noremap=true, silent=true }
vim.api.nvim_set_keymap('n', '<leader>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
vim.api.nvim_set_keymap('n', 'g[', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
vim.api.nvim_set_keymap('n', 'g]', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
vim.api.nvim_set_keymap('n', '<leader>dq', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
vim.api.nvim_set_keymap('n', '<leader>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
-- Use an on_attach function to only map the following keys -- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer -- after the language server attaches to the current buffer
local on_attach = function(client, bufnr) local on_attach = function(client, bufnr)
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
-- Enable completion triggered by <c-x><c-o> -- Enable completion triggered by <c-x><c-o>
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings.
local opts = { noremap=true, silent=true }
-- Mappings (available if LSP is configured and attached to buffer)
-- See `:help vim.lsp.*` for documentation on any of the below functions -- See `:help vim.lsp.*` for documentation on any of the below functions
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
buf_set_keymap('n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
buf_set_keymap('n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
buf_set_keymap('n', '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
buf_set_keymap('n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
buf_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
buf_set_keymap('n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
buf_set_keymap('n', '<leader>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
buf_set_keymap('n', '<leader>dp', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
buf_set_keymap('n', '<leader>dn', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
buf_set_keymap('n', '<leader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
buf_set_keymap('n', '<leader>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
end end
@ -123,11 +123,8 @@ lua <<EOF
capabilities = capabilities, capabilities = capabilities,
} }
else -- Use the LSP's configuration. else -- Use the LSP's configuration.
local on_attach_setting = on_attach lsp_settings.on_attach = on_attach
lsp_settings.capabilities = capabilities
lsp_settings.on_attach = function()
if on_attach_setting then on_attach_setting() end
end
nvim_lsp[lsp_key].setup(lsp_settings) nvim_lsp[lsp_key].setup(lsp_settings)
end end
@ -182,21 +179,27 @@ lua <<EOF
{ name = 'luasnip' }, { name = 'luasnip' },
}, },
} }
-- Configure diagnostics
vim.diagnostic.config({
virtual_text = false,
signs = true,
underline = true,
update_in_insert = false,
severity_sort = false,
})
-- Change diagnostic symbols in the sign column (gutter)
local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
end
EOF EOF
" Visualize diagnostics
let g:diagnostic_enable_virtual_text = 1
let g:diagnostic_trimmed_virtual_text = '40'
" Don't show diagnostics while in insert mode
let g:diagnostic_insert_delay = 1
" Show diagnostic popup on cursor hold " Show diagnostic popup on cursor hold
autocmd CursorHold * lua vim.lsp.diagnostic.show_line_diagnostics({ focusable = false }) autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, { focus = false, scope = "cursor" })
" Goto previous/next diagnostic warning/error
" nnoremap <silent> g[ <cmd>PrevDiagnosticCycle<cr>
" nnoremap <silent> g] <cmd>NextDiagnosticCycle<cr>
" have a fixed column for the diagnostics to appear in " have a fixed column for the diagnostics to appear in
" this removes the jitter when warnings/errors flow in " this removes the jitter when warnings/errors flow in
set signcolumn=yes set signcolumn=yes:2

View file

@ -4,6 +4,10 @@ autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
let g:gutentags_file_list_command = 'git ls-files' let g:gutentags_file_list_command = 'git ls-files'
" quick-scope
" https://github.com/unblevable/quick-scope
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
" Golang " Golang
" Go test, Def, Decls shortcut " Go test, Def, Decls shortcut
nmap <Leader>got :GoTest<CR>:botright copen<CR> nmap <Leader>got :GoTest<CR>:botright copen<CR>

View file

@ -14,3 +14,19 @@ let g:airline#extensions#tabline#formatter = 'unique_tail_improved'
let g:airline_powerline_fonts = 1 " Use powerline fonts let g:airline_powerline_fonts = 1 " Use powerline fonts
let g:airline_theme = 'sonokai' let g:airline_theme = 'sonokai'
" Customize fzf colors to match your color scheme
" - fzf#wrap translates this to a set of `--color` options
let g:fzf_colors =
\ { 'fg': ['fg', 'Normal'],
\ 'bg': ['bg', 'Normal'],
\ 'hl': ['fg', 'Comment'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
\ 'hl+': ['fg', 'Statement'],
\ 'info': ['fg', 'PreProc'],
\ 'border': ['fg', 'Ignore'],
\ 'prompt': ['fg', 'Conditional'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'Keyword'],
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Comment'] }

View file

@ -23,6 +23,8 @@ channels: final: prev: {
obs-studio obs-studio
obs-studio-plugins obs-studio-plugins
looking-glass-client looking-glass-client
nix-direnv
vimPlugins
; ;

View file

@ -65,6 +65,7 @@ in
manix manix
nix-index nix-index
nix-tree nix-tree
nixpkgs-review
# Build broken, python2.7-PyJWT-2.0.1.drv' failed # Build broken, python2.7-PyJWT-2.0.1.drv' failed
#nixops #nixops
psos psos

View file

@ -1,10 +0,0 @@
{ pkgs, lib, budUtils, ... }: {
bud.cmds = with pkgs; {
get = {
writer = budUtils.writeBashWithPaths [ nixUnstable git coreutils ];
synopsis = "get [DEST]";
help = "Copy the desired template to DEST";
script = ./get.bash;
};
};
}

View file

@ -48,10 +48,11 @@ in
(docs mdbook) (docs mdbook)
(devos inputs.deploy.packages.${pkgs.system}.deploy-rs) (devos inputs.deploy.packages.${pkgs.system}.deploy-rs)
] ]
++ lib.optional ++ lib.optional
(system != "i686-linux") (system != "i686-linux")
(devos cachix) (devos cachix)
++ lib.optional
(system != "aarch64-darwin")
(devos inputs.nixos-generators.defaultPackage.${pkgs.system})
; ;
} }