mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-11-29 11:44:45 +01:00
meta: Add dev container
Note that this container uses home-manager from the Nix flake on the host system, which is pretty cool. Currently modules in this repository *don't* differentiate between home-manager and nixos, but this could be changed in the future to support e.g. my home-manager neovim config on a non-nixos system.
This commit is contained in:
parent
9692307bd9
commit
cbdd5998ec
62
containers/dev.nix
Normal file
62
containers/dev.nix
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
{ home-manager, ... }:
|
||||||
|
let
|
||||||
|
VARIABLES = import ../src/variables.nix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
containers.dev = {
|
||||||
|
privateNetwork = true;
|
||||||
|
ephemeral = true;
|
||||||
|
autoStart = true;
|
||||||
|
hostAddress = "192.168.100.30";
|
||||||
|
localAddress = "192.168.100.31";
|
||||||
|
|
||||||
|
bindMounts = {
|
||||||
|
"/mnt" = {
|
||||||
|
hostPath = "/home/${VARIABLES.username}/containers/dev";
|
||||||
|
isReadOnly = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = { pkgs, lib, ... }: {
|
||||||
|
imports = [
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
../modules/git
|
||||||
|
../modules/neovim
|
||||||
|
];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
fish.enable = true;
|
||||||
|
neovim.enable = true;
|
||||||
|
starship.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users = {
|
||||||
|
defaultUserShell = pkgs.fish;
|
||||||
|
mutableUsers = false;
|
||||||
|
allowNoPasswordLogin = true;
|
||||||
|
|
||||||
|
users.user = {
|
||||||
|
isNormalUser = true;
|
||||||
|
home = "/home/user";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.user = { pkgs, ... }: {
|
||||||
|
home.packages = [ pkgs.atool pkgs.httpie ];
|
||||||
|
home.stateVersion = VARIABLES.stateVersion;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
shells = with pkgs; [ fish ];
|
||||||
|
|
||||||
|
variables = { TERM = "xterm-kitty"; };
|
||||||
|
|
||||||
|
defaultPackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ kitty ];
|
||||||
|
|
||||||
|
system.stateVersion = VARIABLES.stateVersion;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -15,6 +15,7 @@ let VARIABLES = import ./variables.nix; in {
|
|||||||
../modules
|
../modules
|
||||||
../containers/rar.nix
|
../containers/rar.nix
|
||||||
../containers/wine.nix
|
../containers/wine.nix
|
||||||
|
../containers/dev.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# locale
|
# locale
|
||||||
|
Loading…
Reference in New Issue
Block a user