nixos/hosts/sakowsl/configuration.nix

157 lines
3.2 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"
2023-09-22 19:19:14 +04:00
outputs.nixosModules.desktop
2023-08-18 12:46:05 +04:00
outputs.nixosModules.shell
outputs.nixosModules.hardware
outputs.nixosModules.dev
outputs.nixosModules.media
2023-12-03 15:02:10 +04:00
outputs.nixosModules.security
];
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-09-23 13:09:49 +04:00
};
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;
};
2024-01-09 21:13:50 +04:00
# cure my sanity
home.pointerCursor = {
name = "Catppuccin-Mocha-Dark";
size = 16;
x11 = {
enable = true;
};
gtk.enable = true;
package = pkgs.catppuccin-cursors.mochaDark;
};
gtk = {
enable = true;
theme.name = "vimix-dark-ruby";
iconTheme.name = "Vimix Ruby Dark";
};
2023-08-18 12:46:05 +04:00
};
2024-01-09 21:15:30 +04:00
# gtk themes
programs.dconf.enable = true;
2023-09-23 13:09:49 +04:00
programs.gnupg.agent = {
enable = true;
2023-12-24 22:31:41 +04:00
pinentryFlavor = null;
settings = {
pinentry-program = "/mnt/c/Program Files (x86)/Gpg4win/bin/pinentry.exe";
};
2023-09-23 13:09:49 +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-12-28 18:55:12 +04:00
wsl-open # wsl-open
];
environment.noXlibs = lib.mkForce false;
programs.git = {
enable = true;
package = pkgs.gitFull;
};
modules = {
2023-09-22 19:18:42 +04:00
desktop = {
apps = {
nextcloud.enable = true;
2023-11-08 18:14:12 +04:00
pass.enable = true;
2023-09-22 19:18:42 +04:00
};
};
dev = {
2023-08-18 12:46:05 +04:00
editors = {
nvim.enable = true;
2024-02-14 20:20:39 +04:00
emacs = {
enable = true;
daemon = false;
2024-02-14 20:31:18 +04:00
package = pkgs.emacs-unstable-pgtk;
2024-02-14 20:20:39 +04:00
};
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-12-03 15:01:24 +04:00
security = {
certs.enable = true;
};
};
2023-12-28 18:55:12 +04:00
# for wsl-open
environment.sessionVariables = rec {
BROWSER = "wsl-open";
};
2023-08-20 11:06:35 +04:00
security.sudo.wheelNeedsPassword = true;
2023-08-20 11:06:01 +04:00
system.stateVersion = "22.05";
}