nixos/hosts/sakowsl/configuration.nix

120 lines
2.4 KiB
Nix
Raw Normal View History

{
2023-08-18 12:46:05 +04:00
lib,
pkgs,
config,
modulesPath,
inputs,
outputs,
...
}: {
imports = [
2023-08-18 12:46:05 +04:00
inputs.home-manager.nixosModules.default
"${modulesPath}/profiles/minimal.nix"
outputs.nixosModules.shell
outputs.nixosModules.hardware
outputs.nixosModules.dev
outputs.nixosModules.media
];
wsl = {
enable = true;
2023-08-26 14:05:13 +04:00
wslConf = {
2023-08-27 12:47:23 +04:00
automount = {
root = "/mnt";
# Allows writing to linux network section in Explorer
options = "metadata,uid=1000,gid=100,umask=22,fmask=11";
};
2023-08-26 14:05:13 +04:00
};
defaultUser = "sako";
startMenuLaunchers = true;
# Native systemd for wsl
nativeSystemd = true;
# Enable native Docker support
# docker-native.enable = true;
# Enable integration with Docker Desktop (needs to be installed)
# docker-desktop.enable = true;
};
users.users.sako.isNormalUser = true;
networking.hostName = "sakowsl";
# Enable nix flakes
nix.package = pkgs.nixFlakes;
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
2023-08-18 12:46:05 +04:00
nix.settings.experimental-features = ["nix-command" "flakes"];
# Home manager setup
home-manager.useUserPackages = true;
2023-08-18 12:46:05 +04:00
home-manager.users.sako = {pkgs, ...}: {
home.stateVersion = "22.05";
home.packages = [];
home.username = "sako";
home.homeDirectory = "/home/sako";
2023-08-18 12:47:35 +04:00
xdg.configFile.git = {
source = ../../config/git;
};
2023-08-19 11:05:46 +04:00
services.gpg-agent = {
enable = true;
2023-08-20 14:13:02 +04:00
pinentryFlavor = "tty";
2023-08-19 11:05:46 +04:00
};
2023-08-18 12:46:05 +04:00
};
# bare minimum
environment.systemPackages = with pkgs; [
vim # backup
wget #double u get
killall # die processes
unzip # zip file
gh # github
htop # htop
tree # trees
];
2023-08-19 15:46:26 +04:00
# you phisiclally cannot live without this
# litearlly! ! ! ! ! !
programs.gnupg.agent = {
enable = true;
};
environment.noXlibs = lib.mkForce false;
programs.git = {
enable = true;
package = pkgs.gitFull;
};
modules = {
dev = {
2023-08-18 12:46:05 +04:00
editors = {
nvim.enable = true;
2023-09-04 16:30:07 +04:00
emacs.enable = true;
2023-08-18 12:46:05 +04:00
};
cc.enable = true;
nil.enable = true;
2023-08-20 14:13:02 +04:00
lua.enable = true;
2023-08-18 12:46:05 +04:00
python.enable = true;
rust.enable = true;
javascript.enable = true;
};
shell = {
zsh.enable = true;
2023-08-18 12:33:14 +04:00
tmux.enable = true;
ranger.enable = true;
nix = {
optimize.enable = true;
search.enable = true;
};
};
};
2023-08-20 11:06:35 +04:00
security.sudo.wheelNeedsPassword = true;
2023-08-20 11:06:01 +04:00
system.stateVersion = "22.05";
}