nix-config/containers/dev.nix
Donovan Glover cbdd5998ec
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.
2023-06-12 14:54:40 -04:00

63 lines
1.3 KiB
Nix

{ 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;
};
};
}