forked from pub-solar/os
Merge pull request #54 from nrdxp/devshell
Use mkDevShell for shell.nix
This commit is contained in:
commit
165ffaa4fb
17
compat/fetch.nix
Normal file
17
compat/fetch.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
let
|
||||
inherit (builtins)
|
||||
fetchTarball
|
||||
fromJSON
|
||||
readFile
|
||||
;
|
||||
lockfile = fromJSON (readFile ../flake.lock);
|
||||
in
|
||||
input:
|
||||
let
|
||||
locked = lockfile.nodes."${input}".locked;
|
||||
inherit (locked) rev narHash owner repo;
|
||||
in
|
||||
fetchTarball {
|
||||
url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz";
|
||||
sha256 = narHash;
|
||||
}
|
5
compat/nixpkgs.nix
Normal file
5
compat/nixpkgs.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
let
|
||||
fetch = import ./fetch.nix;
|
||||
nixpkgs = fetch "nixos";
|
||||
in
|
||||
nixpkgs
|
16
flake.lock
16
flake.lock
|
@ -1,5 +1,20 @@
|
|||
{
|
||||
"nodes": {
|
||||
"devshell": {
|
||||
"locked": {
|
||||
"lastModified": 1607956014,
|
||||
"narHash": "sha256-kcmh1ZO56GFYStDeM2VngJSvx/e8aKhFSYqLwfiq+Es=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "17f46732ce299daa2977be2978f60d258c2d1b41",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1605370193,
|
||||
|
@ -93,6 +108,7 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-utils": "flake-utils",
|
||||
"home": "home",
|
||||
"master": "master",
|
||||
|
|
|
@ -7,9 +7,10 @@
|
|||
nixos.url = "nixpkgs/release-20.09";
|
||||
home.url = "github:nix-community/home-manager/release-20.09";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
devshell.url = "github:numtide/devshell";
|
||||
};
|
||||
|
||||
outputs = inputs@{ self, home, nixos, master, flake-utils, nur }:
|
||||
outputs = inputs@{ self, home, nixos, master, flake-utils, nur, devshell }:
|
||||
let
|
||||
inherit (builtins) attrNames attrValues readDir elem pathExists filter;
|
||||
inherit (flake-utils.lib) eachDefaultSystem mkApp;
|
||||
|
@ -23,7 +24,7 @@
|
|||
|
||||
system = "x86_64-linux";
|
||||
|
||||
externOverlays = [ nur.overlay ];
|
||||
externOverlays = [ nur.overlay devshell.overlay ];
|
||||
externModules = [ home.nixosModules.home-manager ];
|
||||
|
||||
pkgset =
|
||||
|
@ -57,7 +58,7 @@
|
|||
pkgs' = pkgImport {
|
||||
pkgs = master;
|
||||
system = system';
|
||||
overlays = [ ];
|
||||
overlays = [ devshell.overlay ];
|
||||
};
|
||||
|
||||
packages' = genPackages {
|
||||
|
@ -79,7 +80,6 @@
|
|||
{
|
||||
devShell = import ./shell.nix {
|
||||
pkgs = pkgs';
|
||||
nixpkgs = nixos;
|
||||
};
|
||||
|
||||
apps =
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
let
|
||||
inherit (builtins)
|
||||
fetchTarball
|
||||
fromJSON
|
||||
readFile
|
||||
;
|
||||
nixos = (fromJSON (readFile ./flake.lock)).nodes.nixos.locked;
|
||||
nixpkgs = fetchTarball {
|
||||
url = "https://github.com/NixOS/nixpkgs/archive/${nixos.rev}.tar.gz";
|
||||
sha256 = nixos.narHash;
|
||||
};
|
||||
in
|
||||
nixpkgs
|
|
@ -46,6 +46,7 @@ in
|
|||
systemPackages = with pkgs; [
|
||||
bat
|
||||
bzip2
|
||||
devshell
|
||||
exa
|
||||
gitAndTools.hub
|
||||
gzip
|
||||
|
|
32
shell.nix
32
shell.nix
|
@ -1,7 +1,11 @@
|
|||
let
|
||||
nixpkgs' = import ./nixpkgs-compat.nix;
|
||||
nixpkgs = import ./compat/nixpkgs.nix;
|
||||
fetch = import ./compat/fetch.nix;
|
||||
|
||||
devshell' = fetch "devshell";
|
||||
pkgs' = import devshell' { inherit nixpkgs; };
|
||||
in
|
||||
{ pkgs ? import nixpkgs { }, nixpkgs ? nixpkgs' }:
|
||||
{ pkgs ? pkgs', ... }:
|
||||
let
|
||||
configs = "${toString ./.}#nixosConfigurations";
|
||||
build = "config.system.build";
|
||||
|
@ -22,14 +26,20 @@ let
|
|||
sudo nixos-rebuild --flake ".#$1" $@
|
||||
fi
|
||||
'';
|
||||
|
||||
nix = pkgs.writeShellScriptBin "nix" ''
|
||||
${pkgs.nixFlakes}/bin/nix --option experimental-features "nix-command flakes ca-references" "$@"
|
||||
'';
|
||||
in
|
||||
pkgs.mkShell {
|
||||
pkgs.mkDevShell {
|
||||
name = "nixflk";
|
||||
nativeBuildInputs = with pkgs; with installPkgs; [
|
||||
|
||||
packages = with pkgs; with installPkgs; [
|
||||
git
|
||||
git-crypt
|
||||
flk
|
||||
nix-zsh-completions
|
||||
nix
|
||||
nixpkgs-fmt
|
||||
python38Packages.grip
|
||||
nixos-install
|
||||
nixos-generate-config
|
||||
|
@ -37,14 +47,6 @@ pkgs.mkShell {
|
|||
nixos-rebuild
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
mkdir -p secrets
|
||||
if ! nix flake show &> /dev/null; then
|
||||
PATH=${
|
||||
pkgs.writeShellScriptBin "nix" ''
|
||||
${pkgs.nixFlakes}/bin/nix --option experimental-features "nix-command flakes ca-references" "$@"
|
||||
''
|
||||
}/bin:$PATH
|
||||
fi
|
||||
'';
|
||||
env = { };
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue