Refactor home manager profile
This commit is contained in:
1 parent
63386512a8
commit
6c452c6649
10 files changed
+493
-107
No files matched your search
@@ -48,6 +48,8 @@ in
|
||||
gnome-text-editor
|
||||
showtime
|
||||
file-roller
|
||||
mission-center
|
||||
dconf-editor
|
||||
|
||||
# For theming gtk3
|
||||
adw-gtk3
|
||||
@@ -56,6 +58,7 @@ in
|
||||
gsconnect
|
||||
disable-workspace-animation
|
||||
wallpaper-slideshow
|
||||
media-progress
|
||||
]);
|
||||
|
||||
# Enable and set the gtk themes
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.profiles.base;
|
||||
in
|
||||
{
|
||||
options.modules.profiles.base = {
|
||||
enable = mkEnableOption "Base home-manager profile";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
modules = {
|
||||
# btop.enable = true;
|
||||
direnv.enable = true;
|
||||
fish.enable = true;
|
||||
# scripts.enable = true;
|
||||
|
||||
# Development
|
||||
# neovim.enable = true;
|
||||
|
||||
# Languages
|
||||
nix.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.profiles.gnome;
|
||||
in
|
||||
{
|
||||
options.modules.profiles.gnome = {
|
||||
enable = mkEnableOption "Graphical GNOME environment";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
firefox # TODO: Move to dediated module
|
||||
];
|
||||
|
||||
modules = {
|
||||
profiles.base.enable = true;
|
||||
|
||||
# Desktop environment
|
||||
desktop.gnome.enable = true;
|
||||
# desktop.tiling.enable = true;
|
||||
|
||||
# Browser
|
||||
# firefox = {
|
||||
# enable = true;
|
||||
# default = false;
|
||||
# };
|
||||
# qutebrowser = {
|
||||
# enable = true;
|
||||
# default = true;
|
||||
# };
|
||||
|
||||
# Tools
|
||||
# obsidian.enable = true;
|
||||
# zathura.enable = true;
|
||||
|
||||
# Development
|
||||
# neovim.enable = true;
|
||||
vscode.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.profiles.jan;
|
||||
in
|
||||
{
|
||||
options.modules.profiles.jan = {
|
||||
enable = mkEnableOption "Jan's personal profile";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
libreoffice-still
|
||||
remmina
|
||||
thunderbird
|
||||
signal-desktop
|
||||
prusa-slicer
|
||||
freecad-wayland
|
||||
inkscape
|
||||
ente-auth
|
||||
bitwarden
|
||||
carla
|
||||
winbox
|
||||
whatsapp-for-linux
|
||||
discord
|
||||
steam
|
||||
spotify
|
||||
# feishin # TODO: Fix or replace as insecure
|
||||
eduvpn-client
|
||||
river # TODO: Move
|
||||
ryubing
|
||||
bottles
|
||||
prismlauncher
|
||||
foliate
|
||||
];
|
||||
|
||||
modules = {
|
||||
profiles.gnome.enable = true;
|
||||
|
||||
# Gaming
|
||||
# retroarch.enable = true;
|
||||
# ryujinx.enable = true;
|
||||
|
||||
# Tools
|
||||
git = {
|
||||
enable = true;
|
||||
user = "Jan-Bulthuis";
|
||||
email = "git@bulthuis.dev";
|
||||
# TODO: Move
|
||||
ignores = [
|
||||
".envrc"
|
||||
".direnv"
|
||||
"flake.nix"
|
||||
"flake.lock"
|
||||
];
|
||||
};
|
||||
xpra = {
|
||||
enable = true;
|
||||
hosts = [
|
||||
"mixer@10.20.60.251"
|
||||
];
|
||||
};
|
||||
|
||||
# Development
|
||||
# docker.enable = true;
|
||||
# matlab.enable = true;
|
||||
mathematica.enable = true;
|
||||
|
||||
# Languages
|
||||
haskell.enable = false;
|
||||
js.enable = true;
|
||||
nix.enable = true;
|
||||
rust.enable = true;
|
||||
python.enable = true;
|
||||
cpp.enable = true;
|
||||
tex.enable = true;
|
||||
jupyter.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
mkModule,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.profiles.vm;
|
||||
in
|
||||
{
|
||||
options.modules.profiles.vm = {
|
||||
enable = mkEnableOption "Base VM profile";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# Machine hostname
|
||||
networking.hostName = lib.mkDefault "vm-base";
|
||||
|
||||
# Enabled modules
|
||||
modules = {
|
||||
profiles.base.enable = true;
|
||||
base.enable = true;
|
||||
ssh.enable = true;
|
||||
};
|
||||
|
||||
# Enable qemu guest agent
|
||||
services.qemuGuest.enable = true;
|
||||
|
||||
# Hardware configuration
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
boot.initrd.availableKernelModules = [
|
||||
"ata_piix"
|
||||
"uhci_hcd"
|
||||
"virtio_pci"
|
||||
"virtio_scsi"
|
||||
"sd_mod"
|
||||
"sr_mod"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
|
||||
# Filesystems
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-partlabel/root";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-partlabel/EFI";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0077"
|
||||
"dmask=0077"
|
||||
];
|
||||
};
|
||||
|
||||
# Swapfile
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/var/lib/swapfile";
|
||||
size = 6 * 1024;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user