initial rust-shell setup

This commit is contained in:
Christoph Hollizeck 2024-08-26 21:20:15 +02:00
parent 559b376ac0
commit 2d88ee60db
8 changed files with 130 additions and 98 deletions

View file

@ -1,5 +1,26 @@
{ {
"nodes": { "nodes": {
"fenix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1724221791,
"narHash": "sha256-mKX67QPnUybOopVph/LhOV1G/H4EvPxDIfSmbufrVdA=",
"owner": "nix-community",
"repo": "fenix",
"rev": "e88b38a5a3834e039d413a88f8150a75ef6453ef",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -86,11 +107,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1706830856, "lastModified": 1717285511,
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -230,11 +251,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1710933866, "lastModified": 1718922730,
"narHash": "sha256-GtYTuxY6AdFxl3uwFkTkqpvOP4lQLzu2YwqnejhDs1Q=", "narHash": "sha256-ykhhOPqA9NzdNBr3ii+3h2DkK2+wasNqQLfMF6BXxTE=",
"owner": "mrcjkb", "owner": "mrcjkb",
"repo": "nix-gen-luarc-json", "repo": "nix-gen-luarc-json",
"rev": "6e8912ea4fbfaa10797caafb1f5628fb4178b6e8", "rev": "021e8078e43884c6cdc70ca753d9a0b146cd55a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -246,11 +267,11 @@
"gpg-base-conf": { "gpg-base-conf": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1719781410, "lastModified": 1724021581,
"narHash": "sha256-cmtAG7UQX7mVNoHHpVIqasfkjnO7VtBMcz8MJ7frO0k=", "narHash": "sha256-f+ghj8qiljbHyIPZb6b2IAxxQU9GvbYpTdEEjSN9g8E=",
"owner": "drduh", "owner": "drduh",
"repo": "config", "repo": "config",
"rev": "4eca229664d056737f1a097cdbdb10e5f247b0bc", "rev": "eedb4ecf4bb2b5fd71bb27768f76da0f2e2605c8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -266,11 +287,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723015306, "lastModified": 1723986931,
"narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=", "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e", "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,11 +310,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1714917689, "lastModified": 1723810905,
"narHash": "sha256-tRZfUxABa96Xab2RspciohsXbUw06+Qsc+uzqRaL2t4=", "narHash": "sha256-CabIenMDQL6mg5jKkgB8h9HsuLDhrjCITitm6YDXOqw=",
"owner": "Daholli", "owner": "Daholli",
"repo": "kickstart-nix-nvim", "repo": "kickstart-nix-nvim",
"rev": "f3fe9cd765965a12dc58c08a5ecfb63fd61df96a", "rev": "eae53c17749121adbd9425fbd84803b139661687",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -326,11 +347,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1722332872, "lastModified": 1724067415,
"narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=", "narHash": "sha256-WJBAEFXAtA41RMpK8mvw0cQ62CJkNMBtzcEeNIJV7b0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "14c333162ba53c02853add87a0000cbd7aa230c2", "rev": "b09c46430ffcf18d575acf5c339b38ac4e1db5d2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -363,11 +384,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1708475490, "lastModified": 1718714799,
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0e74ca98a74bc7270d28838369593635a5db3260", "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -379,20 +400,14 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"dir": "lib", "lastModified": 1717284937,
"lastModified": 1706550542, "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
"repo": "nixpkgs",
"rev": "97b17f32362e475016f942bbdfda4a4a72a8a652",
"type": "github"
}, },
"original": { "original": {
"dir": "lib", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
@ -413,11 +428,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1723362943, "lastModified": 1723991338,
"narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", "narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a58bc8ad779655e790115244571758e8de055e3d", "rev": "8a3354191c0d7144db9756a74755672387b702ba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -443,29 +458,9 @@
"type": "github" "type": "github"
} }
}, },
"pyfa": {
"inputs": {
"nixpkgs": [
"unstable"
]
},
"locked": {
"lastModified": 1716550164,
"narHash": "sha256-X7duLlJK2sCgXXZ1K2rN3WazbhMN7Ap50YIU1IU1hzs=",
"owner": "Daholli",
"repo": "Pyfa",
"rev": "cf7f4e2fe4b5fa6a21b6c10588e48334dfbc9f71",
"type": "github"
},
"original": {
"owner": "Daholli",
"ref": "nixos-support",
"repo": "Pyfa",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"fenix": "fenix",
"gpg-base-conf": "gpg-base-conf", "gpg-base-conf": "gpg-base-conf",
"home-manager": "home-manager", "home-manager": "home-manager",
"kickstartnvim": "kickstartnvim", "kickstartnvim": "kickstartnvim",
@ -473,13 +468,29 @@
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixos-wsl": "nixos-wsl", "nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"pyfa": "pyfa",
"snowfall-flake": "snowfall-flake", "snowfall-flake": "snowfall-flake",
"snowfall-lib": "snowfall-lib_2", "snowfall-lib": "snowfall-lib_2",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"unstable": "unstable" "unstable": "unstable"
} }
}, },
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1724153119,
"narHash": "sha256-WxpvDJDttkINkXmUA/W5o11lwLPYhATAgu0QUAacZ2g=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "3723e5910c14f0ffbd13de474b8a8fcc74db04ce",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"snowfall-flake": { "snowfall-flake": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
@ -554,11 +565,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1722897572, "lastModified": 1723501126,
"narHash": "sha256-3m/iyyjCdRBF8xyehf59QlckIcmShyTesymSb+N4Ap4=", "narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9", "rev": "be0eec2d27563590194a9206f551a6f73d52fa34",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -629,11 +640,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1722813957, "lastModified": 1723991338,
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", "narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", "rev": "8a3354191c0d7144db9756a74755672387b702ba",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -12,11 +12,21 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixos-hardware.url = "github:nixos/nixos-hardware";
nixos-wsl = { nixos-wsl = {
url = "github:nix-community/NixOS-WSL"; url = "github:nix-community/NixOS-WSL";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Run unpatched dynamically compiled binaries
nix-ld = {
url = "github:Mic92/nix-ld";
inputs.nixpkgs.follows = "unstable";
};
###
# Snowfall dependencies
snowfall-lib = { snowfall-lib = {
url = "github:snowfallorg/lib"; url = "github:snowfallorg/lib";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -32,27 +42,22 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Hardware Configuration
nixos-hardware.url = "github:nixos/nixos-hardware";
# Run unpatched dynamically compiled binaries
nix-ld = {
url = "github:Mic92/nix-ld";
inputs.nixpkgs.follows = "unstable";
};
# GPG default configuration # GPG default configuration
gpg-base-conf = { gpg-base-conf = {
url = "github:drduh/config"; url = "github:drduh/config";
flake = false; flake = false;
}; };
pyfa = {
url = "github:Daholli/Pyfa/nixos-support";
inputs.nixpkgs.follows = "unstable";
};
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
################
## inputs for dev shells
# rust
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs =
@ -90,8 +95,6 @@
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
]; ];
systems.hosts.wsl.modules = with inputs; [ systems.hosts.wsl.modules = with inputs; [ nixos-wsl.nixosModules.default ];
nixos-wsl.nixosModules.default
];
}; };
} }

View file

@ -24,6 +24,9 @@ in
ripgrep ripgrep
fzf fzf
colorls colorls
wslu
wsl-open
]; ];
wyrdgard = { wyrdgard = {

View file

@ -52,11 +52,8 @@ in
config = { config = {
environment.systemPackages = with pkgs; [ ]; environment.systemPackages = with pkgs; [ ];
programs.zsh = { programs.fish = enabled;
enable = true; users.defaultUserShell = pkgs.fish;
autosuggestions.enable = true;
histFile = "$XDG_CACHE_HOME/zsh.history";
};
wyrdgard.home = { wyrdgard.home = {
file = { file = {
@ -80,8 +77,6 @@ in
home = "/home/${cfg.name}"; home = "/home/${cfg.name}";
group = "users"; group = "users";
shell = pkgs.zsh;
# Arbitrary user ID to use for the user. Since I only # Arbitrary user ID to use for the user. Since I only
# have a single user on my machines this won't ever collide. # have a single user on my machines this won't ever collide.
# However, if you add multiple users you'll need to change this # However, if you add multiple users you'll need to change this

View file

@ -1,5 +1,3 @@
{ channels, ... }: { channels, ... }:
final: prev: { final: prev: { inherit (channels.unstable) pobfrontend; }
inherit (channels.unstable) pobfrontend;
}

24
shells/rust/default.nix Normal file
View file

@ -0,0 +1,24 @@
{
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
# as well as the libraries available from your flake's inputs.
lib,
# You also have access to your flake's inputs.
inputs,
# The namespace used for your flake, defaulting to "internal" if not set.
namespace,
# All other arguments come from NixPkgs. You can use `pkgs` to pull shells or helpers
# programmatically or you may add the named attributes as arguments here.
pkgs,
mkShell,
system,
...
}:
mkShell {
# Create your shell
nativeBuildInputs = [
inputs.fenix.packages.${system}.complete.toolchain
];
}

View file

@ -12,14 +12,13 @@ with lib.wyrdgard;
defaultUser = config.wyrdgard.user.name; defaultUser = config.wyrdgard.user.name;
}; };
environment.systemPackages = with pkgs; [
git
wslu
wsl-open
];
wyrdgard = { wyrdgard = {
submodules.basics-wsl = enabled; submodules.basics-wsl = enabled;
security = {
gpg = enabled;
sops = enabled;
};
}; };
system.stateVersion = "24.11"; system.stateVersion = "24.11";

View file

@ -11,7 +11,6 @@ with lib.wyrdgard;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
jetbrains.rust-rover jetbrains.rust-rover
inputs.pyfa
teamspeak_client teamspeak_client
path-of-building path-of-building
]; ];