more reorg

This commit is contained in:
Matt Nish-Lapidus 2025-02-08 22:48:41 -05:00
parent f3413ce790
commit a058fa3c90
6 changed files with 251 additions and 230 deletions

View file

@ -14,7 +14,8 @@
waybar waybar
desktop desktop
music music
# shikane langs
emacs
]; ];
home = { home = {
@ -26,10 +27,7 @@
] ]
(with pkgs; [ (with pkgs; [
guix samba4Full
thonny
dconf dconf
xorg.libX11 xorg.libX11
xorg.libxcb xorg.libxcb
@ -37,65 +35,19 @@
fstl fstl
dbus dbus
gst_all_1.gstreamer
alsa-oss alsa-oss
sops sops
ispell ispell
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ])) (aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
texlive.combined.scheme-full texlive.combined.scheme-full
guile
python3
ruff
(sbcl.withPackages (ps: with ps; [
cffi
arrow-macros
alexandria
serapeum
]))
ccl
racket
gdu
poppler_utils
cljfmt
libxml2
nixfmt-rfc-style
php
rustup
shfmt
html-tidy
openal
procs
rpi-imager
icloudpd
borgbackup
trash-cli
spice spice
spice-gtk spice-gtk
spice-protocol spice-protocol
virt-viewer virt-viewer
virt-manager virt-manager
jre
tesseract
alsa-utils
alsa-tools
dockfmt
impala
tree-sitter
(tree-sitter.withPlugins (_: tree-sitter.allGrammars))
]) ])
]; ];
@ -125,7 +77,6 @@
stateVersion = "24.05"; stateVersion = "24.05";
}; };
sops = { sops = {
age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password! age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password!
@ -147,37 +98,13 @@
}; };
}; };
programs = { programs = {
home-manager.enable = true; home-manager.enable = true;
emacs = {
enable = true;
package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
epkgs: [
epkgs.vterm
epkgs.all-the-icons
epkgs.mu4e
epkgs.sly
epkgs.sly-quicklisp
epkgs.geiser-racket
epkgs.editorconfig
epkgs.shfmt
epkgs.nixpkgs-fmt
epkgs.nixfmt
epkgs.parinfer-rust-mode
epkgs.manualPackages.tree-sitter-langs
epkgs.manualPackages.treesit-grammars.with-all-grammars
epkgs.pretty-sha-path
epkgs.pdf-tools
]
));
};
pandoc.enable = true; pandoc.enable = true;
password-store.enable = true; password-store.enable = true;
}; };
services = { services = {
playerctld = { playerctld = {
enable = true; enable = true;
@ -193,33 +120,6 @@
gpg-agent = { gpg-agent = {
enable = true; enable = true;
}; };
emacs = {
enable = true;
defaultEditor = true;
package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
epkgs: [
epkgs.vterm
epkgs.mu4e
epkgs.sly
epkgs.sly-quicklisp
epkgs.geiser-racket
epkgs.editorconfig
epkgs.shfmt
epkgs.nixpkgs-fmt
epkgs.nixfmt
epkgs.parinfer-rust-mode
epkgs.manualPackages.tree-sitter-langs
epkgs.manualPackages.treesit-grammars.with-all-grammars
epkgs.pretty-sha-path
epkgs.pdf-tools
]
));
socketActivation.enable = true;
client = {
enable = true;
arguments = ["-n" "-r"];
};
};
}; };
xdg.systemDirs.data = [ xdg.systemDirs.data = [
@ -240,17 +140,10 @@
# moving files! # moving files!
xdg.configFile."git".source = ./dotfiles/dot_config/git; xdg.configFile."git".source = ./dotfiles/dot_config/git;
home.file.".npmrc".source = ./dotfiles/dot_npmrc;
home.file.".sbclrc".source = ./dotfiles/dot_sbclrc;
home.file.".signature".source = ./dotfiles/dot_signature; home.file.".signature".source = ./dotfiles/dot_signature;
xdg.configFile."emacs".enable = false;
home.file.".local/bin" = { home.file.".local/bin" = {
source = ./dotfiles/dot_local/bin; source = ./dotfiles/dot_local/bin;
recursive = true; recursive = true;
}; };
} }

View file

@ -2,12 +2,18 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ nix-config, config, pkgs, inputs, ... }: {
nix-config,
config,
pkgs,
inputs,
...
}:
{ {
imports = with nix-config.nixosModules; imports = with nix-config.nixosModules; [
[ # Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
./razer-speaker-fix.nix ./razer-speaker-fix.nix
@ -18,8 +24,7 @@
config = { config = {
allowUnfree = true; allowUnfree = true;
}; };
overlays = builtins.attrValues nix-config.overlays overlays = builtins.attrValues nix-config.overlays ++ [
++ [
inputs.niri.overlays.niri inputs.niri.overlays.niri
inputs.emacs-overlay.overlays.default inputs.emacs-overlay.overlays.default
inputs.audio.overlays.default inputs.audio.overlays.default
@ -31,8 +36,14 @@
# registry.nixpkgs.flake = nixpkgs; # registry.nixpkgs.flake = nixpkgs;
# channel.enable = false; # channel.enable = false;
settings = { settings = {
experimental-features = [ "nix-command" "flakes" ]; experimental-features = [
substituters = [ "https://nix-community.cachix.org" "https://cache.garnix.io" ]; "nix-command"
"flakes"
];
substituters = [
"https://nix-community.cachix.org"
"https://cache.garnix.io"
];
trusted-public-keys = [ trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
@ -77,11 +88,20 @@
}; };
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_latest;
initrd.systemd.enable = true; initrd.systemd.enable = true;
initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" "snd-virmidi" ]; initrd.kernelModules = [
kernelParams = [ "nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" ]; "nvidia"
"nvidia_modeset"
"nvidia_uvm"
"nvidia_drm"
"snd-virmidi"
];
kernelParams = [
"nvidia_drm.fbdev=1"
"nvidia_drm.modeset=1"
];
}; };
systemd.services.tailscaled.after = ["NetworkManager-wait-online.service"]; systemd.services.tailscaled.after = [ "NetworkManager-wait-online.service" ];
systemd.sleep.extraConfig = '' systemd.sleep.extraConfig = ''
HibernateDelaySec=2h HibernateDelaySec=2h
''; '';
@ -217,15 +237,21 @@
security.polkit.enable = true; security.polkit.enable = true;
security.rtkit.enable = true; security.rtkit.enable = true;
security.pam.services.swaylock = {}; security.pam.services.swaylock = { };
security.pam.services.hyprlock = {}; security.pam.services.hyprlock = { };
services.xserver.videoDrivers = [ "nvidia" "modesetting" ]; services.xserver.videoDrivers = [
"nvidia"
"modesetting"
];
networking = { networking = {
hostName = "eddie"; hostName = "eddie";
domain = "local"; domain = "local";
nameservers = [ "1.1.1.1" "1.0.0.1" ]; nameservers = [
"1.1.1.1"
"1.0.0.1"
];
networkmanager = { networkmanager = {
enable = true; enable = true;
wifi.powersave = true; wifi.powersave = true;
@ -457,23 +483,23 @@
}; };
}; };
# programs.virt-manager.enable = true; programs.virt-manager.enable = true;
# virtualisation = { virtualisation = {
# libvirtd = { libvirtd = {
# enable = true; enable = true;
# qemu = { qemu = {
# package = pkgs.qemu_kvm; package = pkgs.qemu_kvm;
# swtpm.enable = true; swtpm.enable = true;
# ovmf.enable = true; ovmf.enable = true;
# ovmf.packages = [ pkgs.OVMFFull.fd ]; ovmf.packages = [ pkgs.OVMFFull.fd ];
# }; };
# }; };
# spiceUSBRedirection.enable = true; spiceUSBRedirection.enable = true;
# }; };
# services.qemuGuest.enable = true; services.qemuGuest.enable = true;
# services.spice-vdagentd.enable = true; services.spice-vdagentd.enable = true;
programs.appimage = { programs.appimage = {
enable = true; enable = true;
@ -569,7 +595,22 @@
users.users.emenel = { users.users.emenel = {
isNormalUser = true; isNormalUser = true;
description = "emenel"; description = "emenel";
extraGroups = [ "networkmanager" "network" "wheel" "uinput" "uucp" "dialout" "input" "audio" "video" "libvirtd" "nvidia" "cups" "openrazer" "plugdev" ]; extraGroups = [
"networkmanager"
"network"
"wheel"
"uinput"
"uucp"
"dialout"
"input"
"audio"
"video"
"libvirtd"
"nvidia"
"cups"
"openrazer"
"plugdev"
];
packages = with pkgs; [ packages = with pkgs; [
git git
]; ];
@ -578,6 +619,4 @@
#do not change #do not change
system.stateVersion = "24.05"; system.stateVersion = "24.05";
} }

View file

@ -11,10 +11,11 @@
maim maim
wayland-utils wayland-utils
libheif.out libheif.out
rpi-imager
thonny
freecad freecad
flatpak flatpak
gst_all_1.gstreamer
prusa-slicer prusa-slicer
via via
vial vial
@ -155,6 +156,6 @@
firefox.enable = true; firefox.enable = true;
}; };
xdg.configFile."halloy/config.toml".source = ./dotfiles/dot_config/halloy/config.toml; xdg.configFile."halloy/config.toml".source = ../../homes/emenel/dotfiles/dot_config/halloy/config.toml;
} }

41
modules/home/emacs.nix Normal file
View file

@ -0,0 +1,41 @@
{ config, lib, pkgs, ... }:
let
emacs_pkg = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
epkgs: [
epkgs.vterm
epkgs.mu4e
epkgs.sly
epkgs.sly-quicklisp
epkgs.geiser-racket
epkgs.editorconfig
epkgs.shfmt
epkgs.nixpkgs-fmt
epkgs.nixfmt
epkgs.parinfer-rust-mode
epkgs.manualPackages.tree-sitter-langs
epkgs.manualPackages.treesit-grammars.with-all-grammars
epkgs.pretty-sha-path
epkgs.pdf-tools
epkgs.all-the-icons
]
));
in {
programs.emacs = {
enable = true;
package = emacs_pkg;
};
services.emacs = {
enable = true;
defaultEditor = true;
package = emacs_pkg;
socketActivation.enable = true;
client = {
enable = true;
arguments = ["-n" "-r"];
};
};
xdg.configFile."emacs".enable = false;
}

37
modules/home/langs.nix Normal file
View file

@ -0,0 +1,37 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [
guix
guile
python3
ruff
(sbcl.withPackages (ps: with ps; [
cffi
arrow-macros
alexandria
serapeum
]))
ccl
racket
gdu
cljfmt
libxml2
nixfmt-rfc-style
php
rustup
shfmt
html-tidy
openal
procs
jre
tree-sitter
(tree-sitter.withPlugins (_: tree-sitter.allGrammars))
];
home.file.".npmrc".source = ../../homes/emenel/dotfiles/dot_npmrc;
home.file.".sbclrc".source = ../../homes/emenel/dotfiles/dot_sbclrc;
}

View file

@ -41,7 +41,6 @@
openssl openssl
exiftool exiftool
libsecret libsecret
samba4Full
shellcheck shellcheck
libffi.dev libffi.dev
nodejs_18 nodejs_18
@ -93,6 +92,17 @@
ghostscript ghostscript
playerctl playerctl
impala
tesseract
alsa-utils
alsa-tools
dockfmt
icloudpd
borgbackup
trash-cli
poppler_utils
]; ];