Shared config working on desktop
This commit is contained in:
@@ -15,7 +15,7 @@ in
|
||||
../graphical/file.nix # import shared configs
|
||||
];
|
||||
|
||||
# Symlink dotfiles
|
||||
# Symlink per-host dotfiles
|
||||
home.file = mkSymlinkAttrs {
|
||||
".config/hypr/hypr-monitors.conf" = {
|
||||
source = ../../configs/hypr-darp8/hypr-monitors.conf;
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
../graphical/pkgs.nix #import shared packages
|
||||
];
|
||||
|
||||
# BEGIN PACKAGES
|
||||
# BEGIN PER-HOST PACKAGES
|
||||
home.packages = with pkgs; [
|
||||
];
|
||||
|
||||
# BEGIN PROGRAMS
|
||||
# BEGIN PER-HOST PROGRAMS
|
||||
programs = {
|
||||
};
|
||||
}
|
||||
|
||||
+15
-227
@@ -3,108 +3,14 @@
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../graphical/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
];
|
||||
|
||||
boot = {
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
plymouth.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "lmdesktop";
|
||||
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
wifi.backend = "iwd";
|
||||
};
|
||||
|
||||
firewall = {
|
||||
enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
allowedTCPPorts = [ 21 22 80 443 4070 5037 ];
|
||||
allowedUDPPorts = [ 4070 ];
|
||||
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 8000; to = 8010; }
|
||||
];
|
||||
|
||||
allowPing = true;
|
||||
};
|
||||
|
||||
wireless.iwd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
IPv6.Enabled = true;
|
||||
Settings.Autoconnect = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
networking.hostName = "lmdesktop";
|
||||
|
||||
time.timeZone = "Europe/Dublin";
|
||||
|
||||
i18n= {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
inputMethod = {
|
||||
enable = true;
|
||||
type = "fcitx5";
|
||||
fcitx5 = {
|
||||
waylandFrontend = true;
|
||||
addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
fcitx5-gtk
|
||||
qt6Packages.fcitx5-chinese-addons
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
publish = {
|
||||
enable = true;
|
||||
userServices = true;
|
||||
};
|
||||
};
|
||||
|
||||
greetd = {
|
||||
enable = true;
|
||||
restart = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --cmd Hyprland";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
libinput.enable = true;
|
||||
blueman.enable = true;
|
||||
gvfs.enable = true;
|
||||
auto-cpufreq.enable = true;
|
||||
|
||||
thermald.enable = true;
|
||||
power-profiles-daemon.enable = false;
|
||||
pulseaudio.enable = false;
|
||||
upower.enable = true;
|
||||
|
||||
xserver.videoDrivers = [ "nvidia" ];
|
||||
};
|
||||
|
||||
security.pam.services.hyprlock = {};
|
||||
|
||||
environment = {
|
||||
etc = {
|
||||
"greetd/environments".text = ''
|
||||
Hyprland
|
||||
river
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
hardware = {
|
||||
bluetooth.enable = true;
|
||||
graphics = {
|
||||
@@ -120,86 +26,24 @@
|
||||
};
|
||||
};
|
||||
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-color-emoji
|
||||
liberation_ttf
|
||||
fira-code-symbols
|
||||
mplus-outline-fonts.githubRelease
|
||||
dina-font
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.droid-sans-mono
|
||||
];
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
fontconfig = {
|
||||
services = {
|
||||
thermald.enable = true;
|
||||
power-profiles-daemon.enable = false;
|
||||
pulseaudio.enable = false;
|
||||
upower.enable = true;
|
||||
|
||||
xserver.videoDrivers = [ "nvidia" ];
|
||||
openssh = {
|
||||
enable = true;
|
||||
includeUserConf = true;
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
PermitRootLogin = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
nix.settings = {
|
||||
substituters = [ "https://hyprland.cachix.org" ];
|
||||
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
|
||||
trusted-users = [ "root" "@wheel" ];
|
||||
allowed-users = [ "root" "@wheel" ];
|
||||
};
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 10d";
|
||||
};
|
||||
|
||||
nix.optimise = {
|
||||
automatic = true;
|
||||
dates = [ "00:00" ];
|
||||
};
|
||||
|
||||
users.users.liamm = {
|
||||
isNormalUser = true;
|
||||
description = "liamm";
|
||||
extraGroups = [ "networkmanager" "wheel" "disk" "power" "video" "davfs2" "input" ];
|
||||
};
|
||||
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
xwayland.enable = true;
|
||||
withUWSM = false;
|
||||
plugins = [ ];
|
||||
};
|
||||
|
||||
river-classic = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
hyprlock.enable = true;
|
||||
dconf.enable = true;
|
||||
nix-ld.enable = true;
|
||||
mtr.enable = true;
|
||||
};
|
||||
|
||||
lib.inputMethod.fcitx5.waylandFrontend = true;
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
extraSpecialArgs = { inherit inputs; inherit cfg; };
|
||||
@@ -208,62 +52,6 @@
|
||||
};
|
||||
backupFileExtension = ".bak";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
bat
|
||||
discord
|
||||
fd
|
||||
file
|
||||
ghostty
|
||||
glib
|
||||
gnome-keyring
|
||||
libdrm
|
||||
libnotify
|
||||
mesa
|
||||
neovim
|
||||
quickshell
|
||||
ripgrep
|
||||
spotify
|
||||
unzip
|
||||
usbutils
|
||||
uxplay
|
||||
vim
|
||||
waypipe
|
||||
wget
|
||||
wl-clipboard
|
||||
xdg-user-dirs
|
||||
zip
|
||||
];
|
||||
|
||||
zramSwap = {
|
||||
enable = true;
|
||||
algorithm = "zstd";
|
||||
};
|
||||
|
||||
xdg = {
|
||||
mime.enable = true;
|
||||
portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
extraPortals = with pkgs;[
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-wlr
|
||||
];
|
||||
config = {
|
||||
common = {
|
||||
default = [ "gtk" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
PermitRootLogin = "no";
|
||||
};
|
||||
};
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine
|
||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||
|
||||
+5
-59
@@ -11,21 +11,12 @@ let
|
||||
|
||||
in
|
||||
{
|
||||
# Symlink dotfiles
|
||||
home.file = mkSymlinkAttrs {
|
||||
# Fonts
|
||||
".local/share/fonts" = {
|
||||
source = ../../fonts;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
imports = [
|
||||
../graphical/file.nix # import shared configs
|
||||
];
|
||||
|
||||
# Configs
|
||||
".config/hypr" = {
|
||||
source = ../../configs/hypr;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
# Symlink per-host ddtfiles
|
||||
home.file = mkSymlinkAttrs {
|
||||
".config/hypr/hypr-monitors.conf" = {
|
||||
source = ../../configs/hypr-desktop/hypr-monitors.conf;
|
||||
outOfStoreSymlink = true;
|
||||
@@ -36,55 +27,10 @@ in
|
||||
outOfStoreSymlink = true;
|
||||
recursive = false;
|
||||
};
|
||||
".config/matugen" = {
|
||||
source = ../../configs/matugen;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/DankMaterialShell" = {
|
||||
source = ../../configs/dms-desktop;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/river" = {
|
||||
source = ../../configs/river;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/emacs" = {
|
||||
source = ../../configs/emacs;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/waybar" = {
|
||||
source = ../../configs/waybar;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/ghostty" = {
|
||||
source = ../../configs/ghostty;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/nvim" = {
|
||||
source = ../../configs/nvim;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/wofi" = {
|
||||
source = ../../configs/wofi;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/swaync" = {
|
||||
source = ../../configs/swaync;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/fastfetch" = {
|
||||
source = ../../configs/fastfetch;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -40,32 +40,8 @@
|
||||
];
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
# THEMING
|
||||
|
||||
## GTK SECTION
|
||||
gtk = {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
};
|
||||
theme = {
|
||||
name = "Materia-dark";
|
||||
package = pkgs.materia-theme;
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.arc-icon-theme;
|
||||
name = "arc-icon-theme";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# ENV SETTINGS
|
||||
xdg.enable = true;
|
||||
xdg.configFile = {
|
||||
"user-dirs.dirs".source = ../../configs/user-dirs.dirs;
|
||||
"user-dirs.locale".source = ../../configs/user-dirs.locale;
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
+7
-133
@@ -4,142 +4,16 @@
|
||||
}:
|
||||
|
||||
{
|
||||
# BEGIN PACKAGES
|
||||
home.packages = with pkgs; [
|
||||
# audacity
|
||||
android-studio
|
||||
audacity
|
||||
bat
|
||||
brave
|
||||
brightnessctl
|
||||
btop
|
||||
comma
|
||||
emacs-all-the-icons-fonts
|
||||
emacsPackages.pdf-tools
|
||||
exfatprogs
|
||||
fastfetch
|
||||
ffmpeg
|
||||
filezilla
|
||||
floorp-bin
|
||||
fuzzel
|
||||
fzf
|
||||
genymotion
|
||||
gimp
|
||||
gtk4
|
||||
gvfs
|
||||
grimblast
|
||||
grim
|
||||
htop
|
||||
hyprpicker
|
||||
imagemagick
|
||||
kdePackages.kdenlive
|
||||
keepassxc
|
||||
kdePackages.polkit-kde-agent-1
|
||||
keepassxc
|
||||
libreoffice
|
||||
localsend
|
||||
mpv
|
||||
mupdf
|
||||
nautilus
|
||||
networkmanagerapplet
|
||||
networkmanager_dmenu
|
||||
nwg-look
|
||||
openvpn
|
||||
overskride
|
||||
pamixer
|
||||
pavucontrol
|
||||
powertop
|
||||
prismlauncher
|
||||
protonvpn-gui
|
||||
pywal
|
||||
qbittorrent
|
||||
signal-desktop
|
||||
slurp
|
||||
swaynotificationcenter
|
||||
swww
|
||||
teams-for-linux
|
||||
texliveFull
|
||||
xfce.thunar
|
||||
xfce.thunar-volman
|
||||
tree
|
||||
waybar
|
||||
wev
|
||||
wlr-randr
|
||||
wlsunset
|
||||
zoom-us
|
||||
imports = [
|
||||
../graphical/pkgs.nix #import shared packages
|
||||
];
|
||||
|
||||
# BEGIN PROGRAMS
|
||||
# BEGIN PER-HOST PACKAGES
|
||||
home.packages = with pkgs; [
|
||||
];
|
||||
|
||||
# BEGIN PER-HOST PROGRAMS
|
||||
programs = {
|
||||
bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
enableVteIntegration = true;
|
||||
initExtra =''
|
||||
if [[ -z $ORIG_SHLVL ]]; then
|
||||
export ORIG_SHLVL=$SHLVL
|
||||
fi;
|
||||
if [[ $SHLVL -gt $ORIG_SHLVL ]]; then
|
||||
export PS1='\[\e[1;m\e[1;33m\e[1;m\] ($(($SHLVL - $ORIG_SHLVL))) \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]'
|
||||
else
|
||||
export PS1='\[\e[1;m\e[1;33m\e[1;m\] \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]'
|
||||
fi;
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
set -o vi
|
||||
fastfetch
|
||||
'';
|
||||
shellAliases = {
|
||||
build = "./build.sh";
|
||||
emacsd = "emacs --daemon";
|
||||
emacsc = "emacsclient -c -a 'emacs'";
|
||||
gap = "git add -p";
|
||||
gcp = "git commit -p";
|
||||
kpx = "keepassxc-cli open";
|
||||
ls = "ls --color=auto";
|
||||
ll = "ls -l";
|
||||
la = "ls -lA";
|
||||
fastfetch = "fastfetch -c $HOME/.config/fastfetch/config.json";
|
||||
nixrebuild = "nixos-rebuild build --flake ~/personal/nixos#darp8 && sudo nixos-rebuild switch --flake ~/personal/nixos#darp8";
|
||||
nixbuild = "sudo nixos-rebuild switch --flake";
|
||||
nixtest = "sudo nixos-rebuild test --flake";
|
||||
new = "source $HOME/.bashrc";
|
||||
newbar = "pkill waybar; waybar &disown";
|
||||
ping = "ping -c 5";
|
||||
vi = "\\vim";
|
||||
work = "nix develop --impure";
|
||||
hyprLockRestore = "hyprctl --instance $1 'keyword misc:allow_session_lock_restore 1' && dms ipc call lock lock";
|
||||
".." = "cd ..";
|
||||
};
|
||||
};
|
||||
dankMaterialShell = {
|
||||
enable = true;
|
||||
};
|
||||
emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs-gtk;
|
||||
extraPackages = epkgs: [
|
||||
epkgs.pdf-tools
|
||||
epkgs.org-pdftools
|
||||
];
|
||||
};
|
||||
feh.enable = true;
|
||||
git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
diff-so-fancy.enable = true;
|
||||
userEmail = "maloneliam@proton.me";
|
||||
userName = "Liam Malone";
|
||||
};
|
||||
neovim = {
|
||||
enable = true;
|
||||
package = pkgs.neovim-unwrapped;
|
||||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
};
|
||||
obs-studio = {
|
||||
enable = true;
|
||||
};
|
||||
wofi.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,30 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services = {
|
||||
emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs-gtk;
|
||||
client = {
|
||||
enable = true;
|
||||
arguments = [
|
||||
"-c"
|
||||
"-a emacs"
|
||||
];
|
||||
};
|
||||
startWithUserSession = "graphical";
|
||||
};
|
||||
|
||||
gpg-agent = {
|
||||
enable = true;
|
||||
defaultCacheTtl = 1800;
|
||||
enableSshSupport = true;
|
||||
};
|
||||
|
||||
gnome-keyring.enable = true;
|
||||
mpris-proxy.enable = true;
|
||||
network-manager-applet.enable = true;
|
||||
nextcloud-client.enable = true;
|
||||
swww.enable = true;
|
||||
};
|
||||
imports = [
|
||||
../graphical/services.nix # import shared services
|
||||
];
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 10d";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
nix.optimise = {
|
||||
automatic = true;
|
||||
|
||||
@@ -11,7 +11,7 @@ let
|
||||
|
||||
in
|
||||
{
|
||||
# Symlink dotfiles
|
||||
# Symlink shared dotfiles
|
||||
home.file = mkSymlinkAttrs {
|
||||
# Fonts
|
||||
".local/share/fonts" = {
|
||||
@@ -31,11 +31,6 @@ in
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/DankMaterialShell" = {
|
||||
source = ../../configs/dms-darp8;
|
||||
outOfStoreSymlink = true;
|
||||
recursive = true;
|
||||
};
|
||||
".config/river" = {
|
||||
source = ../../configs/river;
|
||||
outOfStoreSymlink = true;
|
||||
|
||||
Reference in New Issue
Block a user