move all shared config out from darp8 -> graphical
This commit is contained in:
@@ -3,109 +3,16 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
../graphical/configuration.nix
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
|
networking.hostName = "darp8";
|
||||||
boot = {
|
|
||||||
loader.systemd-boot.enable = true;
|
|
||||||
loader.efi.canTouchEfiVariables = true;
|
|
||||||
plymouth.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
hostName = "darp8";
|
|
||||||
|
|
||||||
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 = {
|
|
||||||
# driverQuirks.defaultInterface = "wlan0";
|
|
||||||
# IPv6.Enabled = true;
|
|
||||||
# Settings.Autoconnect = true;
|
|
||||||
# General.EnableNetworkConfiguration = true;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "Europe/Dublin";
|
time.timeZone = "Europe/Dublin";
|
||||||
# time.timeZone = "America/New_York";
|
# time.timeZone = "America/New_York";
|
||||||
|
|
||||||
i18n= {
|
services.tailscale.enable = false;
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
auto-cpufreq.enable = true;
|
|
||||||
libinput.enable = true;
|
|
||||||
blueman.enable = true;
|
|
||||||
gvfs.enable = true;
|
|
||||||
|
|
||||||
thermald.enable = true;
|
|
||||||
power-profiles-daemon.enable = false;
|
|
||||||
pulseaudio.enable = false;
|
|
||||||
# tailscale.enable = true;
|
|
||||||
upower.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
security.pam.services.hyprlock = {};
|
|
||||||
environment = {
|
|
||||||
etc = {
|
|
||||||
"greetd/environments".text = ''
|
|
||||||
Hyprland
|
|
||||||
river
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
@@ -119,87 +26,8 @@
|
|||||||
system76.enableAll = true;
|
system76.enableAll = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
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
|
|
||||||
];
|
|
||||||
|
|
||||||
fontconfig = {
|
|
||||||
enable = true;
|
|
||||||
includeUserConf = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
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 = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
|
||||||
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
|
||||||
xwayland.enable = true;
|
|
||||||
withUWSM = true;
|
|
||||||
plugins = [
|
|
||||||
# pkgs.hyprlandPlugins.hyprexpo
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
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 = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
extraSpecialArgs = { inherit inputs; inherit cfg; };
|
extraSpecialArgs = { inherit inputs; inherit cfg; };
|
||||||
@@ -209,54 +37,6 @@
|
|||||||
backupFileExtension = ".bak";
|
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" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine
|
# 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,
|
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||||
# and migrated your data accordingly.
|
# and migrated your data accordingly.
|
||||||
|
|||||||
+4
-58
@@ -11,21 +11,12 @@ let
|
|||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
../graphical/file.nix # import shared configs
|
||||||
|
];
|
||||||
|
|
||||||
# Symlink dotfiles
|
# Symlink dotfiles
|
||||||
home.file = mkSymlinkAttrs {
|
home.file = mkSymlinkAttrs {
|
||||||
# Fonts
|
|
||||||
".local/share/fonts" = {
|
|
||||||
source = ../../fonts;
|
|
||||||
outOfStoreSymlink = true;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configs
|
|
||||||
".config/hypr" = {
|
|
||||||
source = ../../configs/hypr;
|
|
||||||
outOfStoreSymlink = true;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
".config/hypr/hypr-monitors.conf" = {
|
".config/hypr/hypr-monitors.conf" = {
|
||||||
source = ../../configs/hypr-darp8/hypr-monitors.conf;
|
source = ../../configs/hypr-darp8/hypr-monitors.conf;
|
||||||
outOfStoreSymlink = true;
|
outOfStoreSymlink = true;
|
||||||
@@ -36,55 +27,10 @@ in
|
|||||||
outOfStoreSymlink = true;
|
outOfStoreSymlink = true;
|
||||||
recursive = false;
|
recursive = false;
|
||||||
};
|
};
|
||||||
".config/matugen" = {
|
|
||||||
source = ../../configs/matugen;
|
|
||||||
outOfStoreSymlink = true;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
".config/DankMaterialShell" = {
|
".config/DankMaterialShell" = {
|
||||||
source = ../../configs/dms-darp8;
|
source = ../../configs/dms-darp8;
|
||||||
outOfStoreSymlink = true;
|
outOfStoreSymlink = true;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
".config/river" = {
|
|
||||||
source = ../../configs/river;
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
".config/emacs" = {
|
|
||||||
source = ../../configs/emacs;
|
|
||||||
outOfStoreSymlink = true;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,11 +64,6 @@
|
|||||||
# ENV SETTINGS
|
# ENV SETTINGS
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
# "emacs" = {
|
|
||||||
# source = ../../configs/emacs;
|
|
||||||
# recursive = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
"user-dirs.dirs".source = ../../configs/user-dirs.dirs;
|
"user-dirs.dirs".source = ../../configs/user-dirs.dirs;
|
||||||
"user-dirs.locale".source = ../../configs/user-dirs.locale;
|
"user-dirs.locale".source = ../../configs/user-dirs.locale;
|
||||||
};
|
};
|
||||||
|
|||||||
+4
-130
@@ -4,142 +4,16 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
../graphical/pkgs.nix #import shared packages
|
||||||
|
];
|
||||||
|
|
||||||
# BEGIN PACKAGES
|
# BEGIN PACKAGES
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# audacity
|
|
||||||
android-studio
|
|
||||||
bat
|
|
||||||
brave
|
|
||||||
brightnessctl
|
|
||||||
btop
|
|
||||||
comma
|
|
||||||
emacs-all-the-icons-fonts
|
|
||||||
emacsPackages.pdf-tools
|
|
||||||
exfatprogs
|
|
||||||
fastfetch
|
|
||||||
ffmpeg
|
|
||||||
filezilla
|
|
||||||
floorp-bin
|
|
||||||
fuzzel
|
|
||||||
fzf
|
|
||||||
genymotion
|
|
||||||
gimp
|
|
||||||
grim
|
|
||||||
gtk4
|
|
||||||
gvfs
|
|
||||||
grimblast
|
|
||||||
htop
|
|
||||||
hyprpicker
|
|
||||||
imagemagick
|
|
||||||
kdePackages.kdenlive
|
|
||||||
kdePackages.polkit-kde-agent-1
|
|
||||||
keepassxc
|
|
||||||
libreoffice
|
|
||||||
localsend
|
|
||||||
mpv
|
|
||||||
mupdf
|
|
||||||
nautilus
|
|
||||||
networkmanagerapplet
|
|
||||||
networkmanager_dmenu
|
|
||||||
nwg-look
|
|
||||||
openvpn
|
|
||||||
overskride
|
|
||||||
pamixer
|
|
||||||
pavucontrol
|
|
||||||
powertop
|
|
||||||
prismlauncher
|
|
||||||
protonvpn-gui
|
|
||||||
qbittorrent
|
|
||||||
signal-desktop
|
|
||||||
slurp
|
|
||||||
swaynotificationcenter
|
|
||||||
swww
|
|
||||||
teams-for-linux
|
|
||||||
texliveFull
|
|
||||||
xfce.thunar
|
|
||||||
xfce.thunar-volman
|
|
||||||
tree
|
|
||||||
waybar
|
|
||||||
wev
|
|
||||||
wlr-randr
|
|
||||||
wlsunset
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# BEGIN PROGRAMS
|
# BEGIN PROGRAMS
|
||||||
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";
|
|
||||||
".." = "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;
|
|
||||||
settings = {
|
|
||||||
user.email = "maloneliam@proton.me";
|
|
||||||
user.name = "Liam Malone";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
neovim = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.neovim-unwrapped;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
};
|
|
||||||
obs-studio = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
diff-so-fancy = {
|
|
||||||
enable = true;
|
|
||||||
enableGitIntegration = true;
|
|
||||||
};
|
|
||||||
wofi.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +1,7 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services = {
|
imports = [
|
||||||
emacs = {
|
../graphical/services.nix # import shared services
|
||||||
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;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,211 @@
|
|||||||
|
{ cfg, config, lib, pkgs, inputs, ... }:
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
loader.systemd-boot.enable = true;
|
||||||
|
loader.efi.canTouchEfiVariables = true;
|
||||||
|
plymouth.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
allowedTCPPorts = [ 21 22 80 443 4070 5037 ];
|
||||||
|
allowedUDPPorts = [ 4070 ];
|
||||||
|
|
||||||
|
allowedTCPPortRanges = [
|
||||||
|
{ from = 8000; to = 8010; }
|
||||||
|
];
|
||||||
|
|
||||||
|
allowPing = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
auto-cpufreq.enable = true;
|
||||||
|
libinput.enable = true;
|
||||||
|
blueman.enable = true;
|
||||||
|
gvfs.enable = true;
|
||||||
|
|
||||||
|
thermald.enable = true;
|
||||||
|
power-profiles-daemon.enable = false;
|
||||||
|
pulseaudio.enable = false;
|
||||||
|
upower.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
security.pam.services.hyprlock = {};
|
||||||
|
environment = {
|
||||||
|
etc = {
|
||||||
|
"greetd/environments".text = ''
|
||||||
|
Hyprland
|
||||||
|
river
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
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
|
||||||
|
];
|
||||||
|
|
||||||
|
fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
includeUserConf = 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 = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||||
|
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||||
|
xwayland.enable = true;
|
||||||
|
withUWSM = true;
|
||||||
|
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;
|
||||||
|
|
||||||
|
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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
{ cfg, config, context, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (config.home) username homeDirectory;
|
||||||
|
|
||||||
|
mkSymlinkAttrs = import ../../utils/mkSymlinkAttrs.nix {
|
||||||
|
inherit pkgs;
|
||||||
|
inherit (cfg) context runtimeRoot;
|
||||||
|
hm = config.lib; # same as: cfg.context.inputs.home-manager.lib.hm;
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# Symlink dotfiles
|
||||||
|
home.file = mkSymlinkAttrs {
|
||||||
|
# Fonts
|
||||||
|
".local/share/fonts" = {
|
||||||
|
source = ../../fonts;
|
||||||
|
outOfStoreSymlink = true;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configs
|
||||||
|
".config/hypr" = {
|
||||||
|
source = ../../configs/hypr;
|
||||||
|
outOfStoreSymlink = true;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
".config/matugen" = {
|
||||||
|
source = ../../configs/matugen;
|
||||||
|
outOfStoreSymlink = true;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
".config/DankMaterialShell" = {
|
||||||
|
source = ../../configs/dms-darp8;
|
||||||
|
outOfStoreSymlink = true;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
".config/river" = {
|
||||||
|
source = ../../configs/river;
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
".config/emacs" = {
|
||||||
|
source = ../../configs/emacs;
|
||||||
|
outOfStoreSymlink = true;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
# BEGIN PACKAGES
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
audacity
|
||||||
|
android-studio
|
||||||
|
bat
|
||||||
|
brave
|
||||||
|
brightnessctl
|
||||||
|
btop
|
||||||
|
comma
|
||||||
|
emacs-all-the-icons-fonts
|
||||||
|
emacsPackages.pdf-tools
|
||||||
|
exfatprogs
|
||||||
|
fastfetch
|
||||||
|
ffmpeg
|
||||||
|
filezilla
|
||||||
|
floorp-bin
|
||||||
|
fuzzel
|
||||||
|
fzf
|
||||||
|
genymotion
|
||||||
|
gimp
|
||||||
|
grim
|
||||||
|
gtk4
|
||||||
|
gvfs
|
||||||
|
grimblast
|
||||||
|
htop
|
||||||
|
hyprpicker
|
||||||
|
imagemagick
|
||||||
|
kdePackages.kdenlive
|
||||||
|
kdePackages.polkit-kde-agent-1
|
||||||
|
keepassxc
|
||||||
|
libreoffice
|
||||||
|
localsend
|
||||||
|
mpv
|
||||||
|
mupdf
|
||||||
|
networkmanagerapplet
|
||||||
|
nwg-look
|
||||||
|
openvpn
|
||||||
|
pamixer
|
||||||
|
pavucontrol
|
||||||
|
powertop
|
||||||
|
prismlauncher
|
||||||
|
protonvpn-gui
|
||||||
|
qbittorrent
|
||||||
|
signal-desktop
|
||||||
|
slurp
|
||||||
|
teams-for-linux
|
||||||
|
texliveFull
|
||||||
|
xfce.thunar
|
||||||
|
xfce.thunar-volman
|
||||||
|
tree
|
||||||
|
waybar
|
||||||
|
wev
|
||||||
|
wlr-randr
|
||||||
|
wlsunset
|
||||||
|
zoom-us
|
||||||
|
];
|
||||||
|
|
||||||
|
# BEGIN 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";
|
||||||
|
".." = "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;
|
||||||
|
settings = {
|
||||||
|
user.email = "maloneliam@proton.me";
|
||||||
|
user.name = "Liam Malone";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
neovim = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.neovim-unwrapped;
|
||||||
|
vimAlias = true;
|
||||||
|
vimdiffAlias = true;
|
||||||
|
};
|
||||||
|
obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
diff-so-fancy = {
|
||||||
|
enable = true;
|
||||||
|
enableGitIntegration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
{ 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;
|
||||||
|
nextcloud-client.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user