Files
nix-wsl/home.nix
2026-02-15 22:26:47 +00:00

89 lines
1.9 KiB
Nix

{ pkgs, lib, config, ... }:
let
downloadedFile = builtins.fetchurl {
url =
"https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh";
sha256 = "7ff718f4a06fd0a0be7edfef926abb41b1353c48c1515ad312d226965b74943a";
};
ProjectRoot = ./.;
in {
# Mandatory WSL settings
wsl.enable = true;
wsl.defaultUser = "nixos";
# Enable Flakes and new 'nix' commands
nix.settings.experimental-features = [ "nix-command" "flakes" ];
environment.systemPackages = with pkgs; [
# for neovim to x11 clipboard sync
# or not just neovim ...
xclip
# lua-language-server
# stylua
rsync
# screen
openssh
bash-completion
gcc
# cargo
cmake
gnumake
# fzf
trash-cli
wl-clipboard
wget
curl
tree
inetutils # telnet
restic
wireguard-tools
];
home-manager = {
users.nixos = {
imports = [ ./hm_programs ./packages.nix ];
home = {
sessionVariables = { POETRY_VIRTUALENVS_IN_PROJECT = "true"; };
activation.createCustomDir = lib.mkAfter ''
mkdir -p ~/.vim-tmp
chmod u+rw ~/.vim-tmp
'';
file = {
".local/share/git/contrib/completion/git-prompt.sh".source =
downloadedFile;
".config/starship.toml".source =
"${ProjectRoot}/config-files/starship.toml";
".tmux.conf".source = "${ProjectRoot}/config-files/tmux.conf";
# home-manager config ... and not working
# "current-system-packages".text = let
# packages = builtins.map (p: "${p.name}") config.home.packages;
# sortedUnique =
# builtins.sort builtins.lessThan (pkgs.lib.lists.unique packages);
# formatted = builtins.concatStringsSep "\n" sortedUnique;
# in formatted;
};
stateVersion = "25.11";
};
};
};
system.stateVersion = "25.11";
}