Bump nix config

This commit is contained in:
agryphus 2026-01-05 00:15:47 -05:00
parent 6344ccdc8a
commit 841b805565
6 changed files with 93 additions and 60 deletions

View file

@ -11,6 +11,9 @@ in {
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 7d"; options = "--delete-older-than 7d";
}; };
# I do not use flakes personally, but being able to run other
# people's flakes is convenient.
settings.experimental-features = [ "nix-command" "flakes" ];
}; };
# Files to add to /etc # Files to add to /etc
@ -29,6 +32,8 @@ in {
]; ];
}; };
networking.networkmanager.enable = true;
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8"; LC_ADDRESS = "en_US.UTF-8";
@ -48,21 +53,23 @@ in {
# version of this font centers the symbols which is nice. # version of this font centers the symbols which is nice.
nur.repos.bandithedoge.symbols-nerd-font nur.repos.bandithedoge.symbols-nerd-font
hack-font
fira-code fira-code
nerd-fonts.fira-code
font-awesome
hack-font
inter inter
fira-code-nerdfont libertine
roboto
source-sans-pro
]; ];
networking.networkmanager.enable = true;
# Bluetooth daemon # Bluetooth daemon
services.blueman.enable = true; services.blueman.enable = true;
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true; hardware.bluetooth.powerOnBoot = true;
# Audio daemon # Audio daemon
hardware.pulseaudio.enable = false; services.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
@ -101,6 +108,7 @@ in {
]; ];
}; };
zsh.enable = true; zsh.enable = true;
command-not-found.enable = true;
}; };
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
@ -146,6 +154,7 @@ in {
man-pages-posix # Documentation man-pages-posix # Documentation
neofetch # Aesthetic sysinfo neofetch # Aesthetic sysinfo
openconnect # Connect to VPNs openconnect # Connect to VPNs
p7zip # Open 7z files
pass-nodmenu # CLI password store (without dmenu dependency) pass-nodmenu # CLI password store (without dmenu dependency)
pinentry-curses # Terminal-based pinentry program pinentry-curses # Terminal-based pinentry program
socat # Interact with sockets socat # Interact with sockets
@ -153,6 +162,8 @@ in {
tldr # Brief info about a command tldr # Brief info about a command
tmux # Terminal multiplexor tmux # Terminal multiplexor
udisks # Good way of dealing with USBs and similar media udisks # Good way of dealing with USBs and similar media
unrar-free # Open .rar files
wget # Similar to curl
yazi # Terminal file manager yazi # Terminal file manager
# Shell # Shell
@ -186,7 +197,7 @@ in {
(self: super: { (self: super: {
# Pop into an environment abiding by the Filesystem Hierarchy Standard # Pop into an environment abiding by the Filesystem Hierarchy Standard
# to run applications which do not play nicely with NixOS. # to run applications which do not play nicely with NixOS.
fhs-run = pkgs.buildFHSUserEnv { fhs-run = pkgs.buildFHSEnv {
name = "fhs-run"; name = "fhs-run";
targetPkgs = pkgs: []; targetPkgs = pkgs: [];
multiPkgs = pkgs: [ pkgs.dpkg ]; multiPkgs = pkgs: [ pkgs.dpkg ];

View file

@ -9,12 +9,11 @@
type = "fcitx5"; type = "fcitx5";
fcitx5 = { fcitx5 = {
waylandFrontend = true; waylandFrontend = true;
plasma6Support = false;
addons = with pkgs; [ addons = with pkgs; [
fcitx5-with-addons qt6Packages.fcitx5-with-addons
fcitx5-configtool qt6Packages.fcitx5-configtool
qt6Packages.fcitx5-chinese-addons
fcitx5-rime fcitx5-rime
fcitx5-chinese-addons
fcitx5-m17n fcitx5-m17n
]; ];
}; };

View file

@ -7,7 +7,7 @@
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
javaPackages.openjfx19 javaPackages.openjfx17
jdk17 jdk17
]; ];
} }

View file

@ -5,8 +5,10 @@
neovim neovim
# LSPs # LSPs
clang
clang-tools clang-tools
lua-language-server lua-language-server
python3Packages.python-lsp-server
# Misc # Misc
ripgrep # Used by telescope ripgrep # Used by telescope

View file

@ -1,10 +0,0 @@
{ config, pkgs, ... }:
{
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
steam
];
}

View file

@ -5,11 +5,7 @@ let
nixos-unstable = (import <nixos-unstable> {}); nixos-unstable = (import <nixos-unstable> {});
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
hyprland_nightly = (import flake-compat { hyprland_nightly = (import flake-compat {
src = builtins.fetchGit { src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/main.tar.gz";
ref = "main";
url = "https://github.com/hyprwm/Hyprland.git";
submodules = true;
};
}).defaultNix; }).defaultNix;
in { in {
# Trusted Hyprland cache, as to not have to rebuild nightly # Trusted Hyprland cache, as to not have to rebuild nightly
@ -21,14 +17,39 @@ in {
# Or else swaylock will not accept correct password # Or else swaylock will not accept correct password
security.pam.services.swaylock = {}; security.pam.services.swaylock = {};
services.keyd.enable = true;
services.keyd.keyboards = {
default = {
ids = [ "*" ];
settings = {
main = {
capslock = "overload(control, esc)";
esc = "capslock";
};
};
};
};
# Enable OpenGL
hardware.graphics = {
enable = true;
};
programs = { programs = {
hyprland = { # Dynamic tiling window manager hyprland = { # Dynamic tiling window manager
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
# package = nixos-unstable.hyprland;
# package = hyprland_nightly.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
}; };
nm-applet.enable = true;
dconf = {
enable = true;
profiles.gdm.databases = [{
settings = {
# set dark theme for gtk 4
"org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; };
};
}];
};
}; };
systemd.user.services = { systemd.user.services = {
@ -41,24 +62,27 @@ in {
serviceConfig.Restart = "always"; serviceConfig.Restart = "always";
serviceConfig.RestartSec = 1; serviceConfig.RestartSec = 1;
}; };
# network-manager-applet = {
# description = "Start the network manager applet";
# after = [ "graphical-session.target" ];
# requires = [ "graphical-session.target" ];
# wantedBy = [ "graphical-session.target" ];
# serviceConfig.Type = "forking";
# serviceConfig.Restart = "always";
# serviceConfig.RestartSec = 1;
# serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
# };
}; };
environment.variables.GSETTINGS_SCHEMA_DIR =
let
paths = [
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas/"
"${pkgs.bottles-unwrapped}/share/gsettings-schemas/${pkgs.bottles-unwrapped.name}/glib-2.0/schemas/"
];
in
builtins.concatStringsSep ":" paths;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
adwaita-icon-theme
adwaita-qt
blueman # Bluetooth manager blueman # Bluetooth manager
dunst # Notification daemon dunst # Notification daemon
firefox # My browser of choice firefox # My browser of choice
foot # Wayland native terminal foot # Wayland native terminal
fuzzel # Fuzzy finding menuing program fuzzel # Fuzzy finding menuing program
glib
gnome-themes-extra
gobble # Wayland alternative to devour gobble # Wayland alternative to devour
grimblast # Allows freezing screen grimblast # Allows freezing screen
grim # Screenshot tool grim # Screenshot tool
@ -66,22 +90,21 @@ in {
hypridle # Do commands upon user idle hypridle # Do commands upon user idle
hyprland-autoname-workspaces # Add icons to workspace titles hyprland-autoname-workspaces # Add icons to workspace titles
hyprlock # Screen locking utility hyprlock # Screen locking utility
hyprpaper
hyprpicker # Colorpicker utility hyprpicker # Colorpicker utility
kanshi # Autorandr substitute hyprsunset # Bluelight filter
libnotify # Send messages to notification daemon libnotify # Send messages to notification daemon
libreoffice # MSOffice btfo libreoffice # MSOffice btfo
# networkmanagerapplet # Wifi dropdown menu # networkmanagerapplet # Wifi dropdown menu
networkmanager_dmenu # Manage wifi with dmenu networkmanager_dmenu # Manage wifi with dmenu
nsxiv # Image viewer nsxiv # Image viewer
nwg-displays nwg-displays
pcmanfm # Graphical file manager
pinentry-rofi # Rofi frontend for pinentry program pinentry-rofi # Rofi frontend for pinentry program
pyprland # Plugin manager for Hyprland quickshell # Use QT to create widgets
rofi # Menu prompt program rofi # Menu prompt program
rofi-pass # Rofi frontend for password store rofi-pass # Rofi frontend for password store
sassc # SCSS interpreter
slurp # Screen selection utility slurp # Screen selection utility
st st # Suckless Simple Terminal
swaylock # Wayland session locker swaylock # Wayland session locker
swww # Sets background images swww # Sets background images
texlive.combined.scheme-full # LaTeX to create documents texlive.combined.scheme-full # LaTeX to create documents
@ -93,38 +116,46 @@ in {
wdisplays # Arnadr substitute wdisplays # Arnadr substitute
wl-clipboard # Copy/paste utility wl-clipboard # Copy/paste utility
wlr-randr # Xrandr substitute wlr-randr # Xrandr substitute
xwaylandvideobridge # Allows screensharing from XWayland programs
xorg.xcursorthemes xorg.xcursorthemes
zathura # Minimalist PDF reader zathura # Minimalist PDF reader
zen-browser zen-browser # Better firefox
intel-gpu-tools # Tools for intel GPU
mesa-demos # Tools for Mesa drivers
xfce.thunar # Graphical file manager
xfce.tumbler # Thumbnailer service
# libsForQt5.qt5.qtsvg # Allow for svg icons in QT applications
kdePackages.qt6ct
# GTK Themes # GTK Themes
lxappearance-gtk2 # Theme switcher lxappearance-gtk2 # Theme switcher
gruvbox-dark-gtk gruvbox-dark-gtk
# Custom packages
extra-icons
]; ];
nixpkgs.overlays = [ nixpkgs.overlays = [
(final: prev: { (final: prev: {
hyprland-autoname-workspaces = nixos-unstable.hyprland-autoname-workspaces; hyprland-autoname-workspaces = nixos-unstable.hyprland-autoname-workspaces;
waybar = nixos-unstable.waybar;
typst = nixos-unstable.typst; typst = nixos-unstable.typst;
# typst = (import flake-compat { swww = nixos-unstable.swww;
# src = builtins.fetchGit {
# url = "https://github.com/typst/typst.git";
# };
# }).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default;
zen-browser = (import flake-compat { zen-browser = (import flake-compat {
src = builtins.fetchGit { src = builtins.fetchGit {
url = "https://github.com/0xc000022070/zen-browser-flake.git"; url = "https://github.com/0xc000022070/zen-browser-flake.git";
}; };
}).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default; }).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default;
st = prev.st.overrideAttrs (o: { st = prev.callPackage /home/vince/.config/st/default.nix {};
src = /home/vince/.config/st; extra-icons = prev.callPackage ../../derivations/extra-icons {};
buildInputs = o.buildInputs ++ (with pkgs; [ # quickshell = (nixos-unstable.callPackage "${builtins.fetchGit {
# Extra libraries needed to build patches # url = "https://git.outfoxxed.me/outfoxxed/quickshell.git";
harfbuzz # ref = "master";
imlib2 # }}/" {}).overrideAttrs (oa: {
]); # buildInputs = (oa.buildInputs or []) ++ [ nixos-unstable.qt6.qt5compat ];
# });
quickshell = nixos-unstable.quickshell.overrideAttrs(oa: {
buildInputs = (oa.buildInputs or []) ++ [ nixos-unstable.qt6.qt5compat ];
}); });
}) })
]; ];