[2023-12-18 Mon 19:25]

This commit is contained in:
Benson Chu 2023-12-18 19:25:55 -06:00
parent 59e134285a
commit 8ad0614870
2 changed files with 105 additions and 65 deletions

View file

@ -18,6 +18,11 @@
isync
tmux
firefox
google-chrome
vlc
mpv
ninja
gdb
lldb
@ -36,10 +41,16 @@
lsof
htop
qdirstat
signal-desktop
parsec-bin
discord
pcmanfm
libsForQt5.dolphin
libsForQt5.dolphin-plugins
libsForQt5.ffmpegthumbs
libsForQt5.kdegraphics-thumbnailers
vim
]

View file

@ -15,63 +15,8 @@ in
./hardware-configuration.nix
];
networking.hostName = "NixDawn"; # Define your hostname.
services.xserver = {
# Enable the X11 windowing system.
enable = true;
exportConfiguration = true;
# Configure keymap in X11
layout = "us";
xkbVariant = "";
libinput = {
enable = true;
touchpad = {
naturalScrolling = true;
};
};
# Enable the KDE Plasma Desktop Environment.
displayManager.sddm.enable = true;
windowManager.exwm = {
enable = true;
enableDefaultConfig = false;
};
xrandrHeads = [
{ output = "HDMI-1"; primary = false; monitorConfig = "Option \"PreferredMode\" \"2560x2880\""; }
{ output = "DP-3"; primary = true; }
];
deviceSection = ''
Option "TearFree"
'';
};
programs.nm-applet.enable = true;
services.picom.enable = true;
services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
pinentryFlavor = "curses";
enableSSHSupport = true;
};
services.syncthing = {
enable = true;
user = "benson";
configDir = "/home/benson/.config/syncthing"; # Folder for Syncthing's settings and keys
dataDir = "/home/benson/.config/syncthing/db"; # Folder for Syncthing's database
};
nix.settings.experimental-features = "nix-command flakes";
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "benson" ];
hardware.bluetooth.enable = true; # enables support for Bluetooth
# Define a user account. Don't forget to set a password with passwd.
@ -83,21 +28,51 @@ in
firefox
kate
steam
dolphin
breeze-icons
];
};
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
ports = [ 2222 ];
programs = {
evince.enable = true;
nm-applet.enable = true;
thunar.enable = true;
settings = {
X11Forwarding = true;
PasswordAuthentication = false;
PermitRootLogin = "no";
gnupg.agent = {
enable = true;
pinentryFlavor = "curses";
enableSSHSupport = true;
};
};
services = {
picom.enable = true;
pcscd.enable = true;
tailscale.enable = true;
gvfs.enable = true;
udisks2.enable = true;
devmon.enable = true;
tumbler.enable = true;
syncthing = {
enable = true;
user = "benson";
configDir = "/home/benson/.config/syncthing"; # Folder for Syncthing's settings and keys
dataDir = "/home/benson/.config/syncthing/db"; # Folder for Syncthing's database
};
extraConfig = ''
# Enable the OpenSSH daemon.
openssh = {
enable = true;
ports = [ 2222 ];
settings = {
X11Forwarding = true;
PasswordAuthentication = false;
PermitRootLogin = "no";
};
extraConfig = ''
ChallengeResponseAuthentication no
Match Address 192.168.0.0/16,!192.168.1.254
@ -106,8 +81,62 @@ in
PasswordAuthentication yes
ChallengeResponseAuthentication yes
'';
};
xserver = {
# Enable the X11 windowing system.
enable = true;
exportConfiguration = true;
# Configure keymap in X11
layout = "us";
xkbVariant = "";
libinput = {
enable = true;
touchpad = {
naturalScrolling = true;
};
};
# Enable the KDE Plasma Desktop Environment.
displayManager.sddm.enable = true;
windowManager.exwm = {
enable = true;
enableDefaultConfig = false;
};
xrandrHeads = [
{ output = "HDMI-1"; primary = false; monitorConfig = "Option \"PreferredMode\" \"2560x2880\""; }
{ output = "DP-3"; primary = true; }
];
deviceSection = ''
Option "TearFree"
'';
};
};
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "benson" ];
security.polkit.enable = true;
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
services.tailscale.enable = true;
environment.systemPackages = with pkgs; [
pavucontrol