Restructuring
This commit is contained in:
parent
b62f397044
commit
f1bf506b55
7 changed files with 148 additions and 184 deletions
|
@ -43,6 +43,7 @@
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
home-manager.nixosModule
|
home-manager.nixosModule
|
||||||
|
./modules
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,27 +1,19 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
./hardware-configuration.nix
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Nix Flakes
|
../../modules/apps/virtualbox
|
||||||
nix.package = pkgs.nixFlakes;
|
../../modules/des/gnome
|
||||||
nix.extraOptions = ''
|
];
|
||||||
experimental-features = nix-command flakes
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.]
|
# Use the systemd-boot EFI boot loader.]
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
efi = {
|
efi = {
|
||||||
canTouchEfiVariables = true;
|
canTouchEfiVariables = true;
|
||||||
efiSysMountPoint = "/boot/efi";
|
efiSysMountPoint = "/boot/efi";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -55,18 +47,6 @@
|
||||||
|
|
||||||
videoDrivers = [ "nvidia" ]; # Also for wayland compositors
|
videoDrivers = [ "nvidia" ]; # Also for wayland compositors
|
||||||
|
|
||||||
# Enable the GNOME Desktop Environment.
|
|
||||||
displayManager.gdm.enable = true;
|
|
||||||
desktopManager.gnome.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
# Enable the Plasma 5 Desktop Environment.
|
|
||||||
# displayManager.sddm = {
|
|
||||||
# enable = true;
|
|
||||||
# defaultSession = "plasmawayland";
|
|
||||||
# };
|
|
||||||
# desktopManager.plasma.enable = true;
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
layout = "us";
|
layout = "us";
|
||||||
xkbVariant = "";
|
xkbVariant = "";
|
||||||
|
@ -99,37 +79,23 @@
|
||||||
services.xserver.libinput.enable = true;
|
services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
# NVIDIA drivers
|
# NVIDIA drivers
|
||||||
hardware.opengl.enable = true;
|
hardware = {
|
||||||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
|
opengl.enable = true;
|
||||||
hardware.nvidia.modesetting.enable = true;
|
nvidia = {
|
||||||
|
open = true;
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
users.users.tdpeuter = {
|
modesetting.enable = true;
|
||||||
description = "Tibo De Peuter";
|
# prime = {
|
||||||
isNormalUser = true;
|
# offload.enable = true;
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
# intelBusId = "PCI::00:02:0";
|
||||||
initialPassword = "ChangeMe";
|
# nvidiaBusId = "PCI:01:00:0";
|
||||||
packages = with pkgs; [
|
# };
|
||||||
home-manager
|
};
|
||||||
];
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
];
|
|
||||||
|
|
||||||
# Computer architecture
|
|
||||||
virtualisation.virtualbox.host.enable = true;
|
|
||||||
virtualisation.virtualbox.host.enableExtensionPack = true;
|
|
||||||
virtualisation.virtualbox.guest.enable = true;
|
|
||||||
virtualisation.virtualbox.guest.x11 = true;
|
|
||||||
users.extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" ];
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
# started in user sessions.
|
# started in user sessions.
|
||||||
# programs.mtr.enable = true;
|
# programs.mtr.enable = true;
|
||||||
|
|
8
nixos/modules/apps/default.nix
Normal file
8
nixos/modules/apps/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./alacritty
|
||||||
|
./firefox
|
||||||
|
./thunderbird
|
||||||
|
# ./virtualbox
|
||||||
|
];
|
||||||
|
}
|
97
nixos/modules/default.nix
Normal file
97
nixos/modules/default.nix
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
{ inputs, lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./apps
|
||||||
|
./shells
|
||||||
|
./utils
|
||||||
|
];
|
||||||
|
|
||||||
|
# Nix Flakes
|
||||||
|
nix.package = pkgs.nixFlakes;
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
keep-outputs = true
|
||||||
|
keep-derivations = true
|
||||||
|
'';
|
||||||
|
|
||||||
|
users.users.tdpeuter = {
|
||||||
|
description = "Tibo De Peuter";
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
initialPassword = "ChangeMe";
|
||||||
|
packages = with pkgs; [
|
||||||
|
home-manager
|
||||||
|
];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.tdpeuter = { pkgs, ... }: {
|
||||||
|
home = {
|
||||||
|
username = "tdpeuter";
|
||||||
|
homeDirectory = "/home/tdpeuter";
|
||||||
|
stateVersion = "22.11";
|
||||||
|
|
||||||
|
packages = with pkgs; [
|
||||||
|
brave
|
||||||
|
caprine-bin
|
||||||
|
direnv
|
||||||
|
discord
|
||||||
|
duf
|
||||||
|
git-crypt
|
||||||
|
gnupg
|
||||||
|
jellyfin-media-player
|
||||||
|
libreoffice-fresh-unwrapped
|
||||||
|
lynx
|
||||||
|
mattermost-desktop
|
||||||
|
nextcloud-client
|
||||||
|
obsidian
|
||||||
|
pinentry_qt
|
||||||
|
spotify
|
||||||
|
w3m
|
||||||
|
zathura
|
||||||
|
zenith
|
||||||
|
zoom-us
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
corefonts # Calibri for Uni
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
home-manager.enable = true;
|
||||||
|
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "tdpeuter";
|
||||||
|
userEmail = "tibo.depeuter@gmail.com";
|
||||||
|
extraConfig = {
|
||||||
|
core.editor = "vim";
|
||||||
|
};
|
||||||
|
includes = [
|
||||||
|
{
|
||||||
|
path = "~/.gitconfig-ugent";
|
||||||
|
condition = "gitdir:~/Nextcloud/Documenten/UGent";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
gpg.enable = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
pinentryFlavor = "qt";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
5
nixos/modules/shells/default.nix
Normal file
5
nixos/modules/shells/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./zsh
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./vifm
|
./vifm
|
||||||
|
./vim
|
||||||
./zellij
|
./zellij
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,114 +0,0 @@
|
||||||
{ inputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Check documentation at
|
|
||||||
# https://rycee.gitlab.io/home-manager/options.html
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
];
|
|
||||||
|
|
||||||
# Home manager
|
|
||||||
home = {
|
|
||||||
# Home Manager needs a bit of information about you and the
|
|
||||||
# paths it should manage.
|
|
||||||
username = "tdpeuter";
|
|
||||||
homeDirectory = "/home/tdpeuter";
|
|
||||||
|
|
||||||
# This value determines the Home Manager release that your
|
|
||||||
# configuration is compatible with. This helps avoid breakage
|
|
||||||
# when a new Home Manager release introduces backwards
|
|
||||||
# incompatible changes.
|
|
||||||
#
|
|
||||||
# You can update Home Manager without changing this value. See
|
|
||||||
# the Home Manager release notes for a list of state version
|
|
||||||
# changes in each release.
|
|
||||||
stateVersion = "22.11";
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
|
||||||
alacritty
|
|
||||||
discord
|
|
||||||
duf
|
|
||||||
git-crypt
|
|
||||||
gnupg
|
|
||||||
libreoffice-fresh-unwrapped
|
|
||||||
lynx
|
|
||||||
mattermost-desktop
|
|
||||||
nextcloud-client
|
|
||||||
pinentry_qt
|
|
||||||
spotify
|
|
||||||
vifm
|
|
||||||
vim
|
|
||||||
w3m
|
|
||||||
zathura
|
|
||||||
zellij
|
|
||||||
zenith
|
|
||||||
zoom-us
|
|
||||||
|
|
||||||
# Webdevelopment
|
|
||||||
jetbrains.webstorm
|
|
||||||
|
|
||||||
# Software Engineering Lab 1
|
|
||||||
android-studio
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
font-awesome_5 # Vifm and zsh dependency
|
|
||||||
];
|
|
||||||
|
|
||||||
file = {
|
|
||||||
".config/alacritty".source = ../../../stow/alacritty/.config/alacritty;
|
|
||||||
".config/vifm".source = ../../../stow/vifm/.config/vifm;
|
|
||||||
".vim".source = ../../../stow/vim/.vim;
|
|
||||||
".vimrc".source = ../../../stow/vim/.vimrc;
|
|
||||||
".config/zellij".source = ../../../stow/zellij/.config/zellij;
|
|
||||||
".oh-my-zsh".source = ../../../stow/zsh/.oh-my-zsh;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
home-manager.enable = true;
|
|
||||||
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "tdpeuter";
|
|
||||||
userEmail = "tibo.depeuter@gmail.com";
|
|
||||||
extraConfig = {
|
|
||||||
core.editor = "vim";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gpg.enable = true;
|
|
||||||
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
custom = "$HOME/.oh-my-zsh";
|
|
||||||
plugins = [ "dirhistory" "git" "screen" ];
|
|
||||||
theme = "mrfortem";
|
|
||||||
};
|
|
||||||
plugins = [
|
|
||||||
{
|
|
||||||
name = "cmdtime";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "tom-auger";
|
|
||||||
repo = "cmdtime";
|
|
||||||
rev = "ffc72641dcfa0ee6666ceb1dc712b61be30a1e8b";
|
|
||||||
hash = "sha256-v6wCfNoPXDD3sS6yUYE6lre8Ir1yJcLGoAW3O8sUOCg=";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
services = {
|
|
||||||
gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
pinentryFlavor = "qt";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in a new issue