89 lines
1.9 KiB
Nix
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";
|
|
}
|