Archived
Watch
1
0
Fork
You've already forked nixos
0

flake revamp 2

This commit is contained in:
asnev 2026-07-11 18:06:51 +07:00
commit 6a367190cc
Signed by: asnev
SSH key fingerprint: SHA256:8hagYq9hDUuS5clQ78FKhIoQDvg5crdkYMHX+3g7wB4
8 changed files with 184 additions and 233 deletions

18
flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1783221248, "lastModified": 1783740085,
"narHash": "sha256-ESQnuNHEDChsB4IxoLRhscVahqkDWkTb+qdIz8euYt4=", "narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "af2beae5f0fae0a4310cc0e6aef2572f56090353", "rev": "3cd22efe6471dc7365c822bd9ad73a21e55f38fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -23,11 +23,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1783389287, "lastModified": 1783549019,
"narHash": "sha256-0xIy4dVLqq47rA+mRy0hXDfjhQd4E5PoIns/RmB7nR4=", "narHash": "sha256-0XnckG4ZhBmAsYa9mLuEIFowBG0fDGPLHduQGsbMS4A=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0ad6f47ea4fe188f4bc8f0380f93ae8523337c6c", "rev": "74cc63f702f7d60a557e152a57b40fb1fd0f72ac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -39,11 +39,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1783224372, "lastModified": 1783522502,
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=", "narHash": "sha256-iffAls3iaNTyJC2faYcUXSI+Gp02cDjYl+MygxKl2GI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d407951447dcd00442e97087bf374aad70c04cea", "rev": "0bb7ec54c8483066ec9d7720e780a5caa71f8612",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -22,13 +22,12 @@
./hosts/phostron/configuration.nix ./hosts/phostron/configuration.nix
./profiles/desktops/kde.nix ./profiles/desktops/kde.nix
./users/coyote/configuration.nix ./users/coyote/configuration.nix
home-manager.nixosModules.home-manager { home-manager.nixosModules.home-manager
home-manager = { {
useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
useUserPackages = true; home-manager.useUserPackages = true;
extraSpecialArgs = {inherit inputs;}; home-manager.extraSpecialArgs = {inherit inputs;};
users.coyote.imports = [./users/coyote/home.nix]; home-manager.users.coyote = import ./users/coyote/home.nix;
};
} }
]; ];
}; };

View file

@ -4,23 +4,13 @@
system.stateVersion = "26.05"; # I hope you know what you're doing. :) system.stateVersion = "26.05"; # I hope you know what you're doing. :)
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
services.displayManager.sddm.settings = { services.displayManager.sddm.settings.Theme.Font = "Inter";
Theme = { services.displayManager.sddm.settings.Theme.CursorSize = 18;
Font = "Inter";
CursorSize = 18;
};
};
hardware = { hardware.bluetooth.enable = true;
bluetooth = { hardware.bluetooth.powerOnBoot = false;
enable = true;
powerOnBoot = false;
};
};
networking = { networking.hostName = "phostron";
hostName = "phostron"; networking.networkmanager.enable = true;
networkmanager.enable = true; networking.firewall.enable = true;
firewall.enable = true;
};
} }

View file

@ -3,19 +3,14 @@
lib, lib,
pkgs, pkgs,
inputs, inputs,
...}: { ...
}: {
boot = { boot = {
loader.systemd-boot = { loader.systemd-boot.enable = true;
enable = true; loader.systemd-boot.configurationLimit = 10;
configurationLimit = 10; loader.efi.canTouchEfiVariables = true;
efi.canTouchEfiVariables = true; loader.timeout = 2;
}; kernelParams = ["quiet" "rd.udev.log_level=3" "rd.systemd.show_status=auto"];
timeout = 2;
kernelParams = [
"quiet"
"rd.udev.log_level=3"
"rd.systemd.show_status=auto"
];
initrd.verbose = false; initrd.verbose = false;
consoleLogLevel = 3; consoleLogLevel = 3;
kernelPackages = pkgs.linuxPackages; kernelPackages = pkgs.linuxPackages;
@ -41,125 +36,97 @@
security.rtkit.enable = true; security.rtkit.enable = true;
nix.settings = { nix.settings.experimental-features = ["nix-command" "flakes"];
experimental-features = ["nix-command" "flakes"]; nix.settings.auto-optimise-store = true;
auto-optimise-store = true;
};
nixpkgs = { nixpkgs.config.allowUnfree = true;
config.allowUnfree = true; nixpkgs.overlays = [
overlays = [ (final: prev: {
(final: prev: { unstable = import inputs.nixpkgs-unstable {
unstable = import inputs.nixpkgs-unstable { system = prev.stdenv.hostPlatform.system;
system = prev.stdenv.hostPlatform.system; config.allowUnfree = true;
config.allowUnfree = true; };
}; })
}) ];
];
};
environment = { environment.systemPackages = with pkgs; [
systemPackages = with pkgs; [ # Nix
# Nix nh
nh alejandra
alejandra comma
# system devel # system utils
python3 firmware-updater
gcc mtr
clang gnupg
# system utils ddate
firmware-updater testdisk
mtr tree
gnupg wget
ddate btop
testdisk dysk
tree plocate
wget traceroute
btop rlwrap
dysk entr
plocate unzip
traceroute ffmpeg
rlwrap imagemagick
entr # extra utils
unzip fd
ffmpeg bat
imagemagick xh
# extra utils tlrc
fd dust
bat hyperfine
xh ripgrep
tlrc fzf
dust eza
hyperfine ];
ripgrep environment.shellAliases = {
fzf l = "eza --long --all";
eza ll = "eza --long";
]; ls = "eza --long";
shellAliases = {
l = "eza --long --all";
ll = "eza --long";
ls = "eza --long";
};
}; };
programs = { programs = {
fish.enable = true; fish.enable = true;
atuin.enable = true;
atuin.settings.sync_address = "https://api.atuin.sh";
starship.enable = true; starship.enable = true;
atuin = { starship.transientPrompt.enable = true;
enable = true; starship.transientPrompt.left = "starship module character";
settings.sync_address = "https://api.atuin.sh";
}; obs-studio.enableVirtualCamera = true;
nix-ld = { ssh.startAgent = true;
enable = true;
libraries = with pkgs; [ nix-ld.enable = true;
fuse nix-ld.libraries = with pkgs; [fuse e2fsprogs];
e2fsprogs
];
};
tmux = {
enable = true;
clock24 = true;
baseIndex = 1;
shortcut = "a";
keyMode = "vi";
terminal = "screen-256color";
escapeTime = 0;
extraConfig = ''
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
set-option -g status-right "\"#W\""
set -ga terminal-overrides ",*:RGB"
set -g mouse on
set -g set-clipboard on
'';
};
}; };
fonts = { fonts.packages = with pkgs; [
packages = with pkgs; [ # GUI fonts
# GUI fonts inter
inter corefonts
corefonts vista-fonts
vista-fonts roboto
roboto cantarell-fonts
cantarell-fonts # fonts for i18n
# fonts for i18n noto-fonts
noto-fonts noto-fonts-cjk-sans
noto-fonts-cjk-sans noto-fonts-cjk-serif
noto-fonts-cjk-serif noto-fonts-color-emoji
noto-fonts-color-emoji noto-fonts-monochrome-emoji
noto-fonts-monochrome-emoji unifont
unifont unifont_upper
unifont_upper unifont-csur
unifont-csur # terminal fonts
# terminal fonts nerd-fonts.iosevka
nerd-fonts.iosevka ];
]; fonts.fontconfig = {
fontconfig = { antialias = true;
antialias = true; subpixel.rgba = "rgb";
subpixel.rgba = "rgb";
};
}; };
xdg.portal = { xdg.portal = {

View file

@ -1,8 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
}

View file

@ -1,20 +1,16 @@
{pkgs, ...}: { {pkgs, ...}: {
services = { services.displayManager.sddm.enable = true;
displayManager.sddm.enable = true; services.desktopManager.plasma6.enable = true;
desktopManager.plasma6.enable = true;
};
environment = { environment.systemPackages = with pkgs.kdePackages; [
systemPackages = with pkgs.kdePackages; [ kate
kate bluez-qt
bluez-qt kalk
kalk filelight
filelight kamoso
kamoso konversation
konversation kmail
kmail ktorrent
ktorrent ];
]; environment.plasma6.excludePackages = with pkgs.kdePackages; [discover];
plasma6.excludePackages = with pkgs.kdePackages; [discover];
};
} }

View file

@ -6,15 +6,13 @@
USER_ID = 1000; USER_ID = 1000;
KEY_FILE = "id_ed25519"; KEY_FILE = "id_ed25519";
in { in {
users = { users.users.coyote = {
users.coyote = { isNormalUser = true;
isNormalUser = true; description = "coyote";
description = "coyote"; extraGroups = ["wheel" "networkmanager"];
extraGroups = ["wheel" "networkmanager"]; uid = USER_ID;
uid = USER_ID;
};
defaultUserShell = pkgs.unstable.fish;
}; };
users.defaultUserShell = pkgs.unstable.fish;
environment.sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent"; environment.sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent";
@ -31,11 +29,4 @@ in {
RestartSec = 1; RestartSec = 1;
}; };
}; };
programs = {
obs-studio.enableVirtualCamera = true;
ssh.startAgent = true;
starship.transientPrompt.enable = true;
starship.transientPrompt.left = "starship module character";
};
} }

View file

@ -6,47 +6,63 @@
(name: builtins.match ".*\\.nix" name != null) (name: builtins.match ".*\\.nix" name != null)
(builtins.attrNames (builtins.readDir programsDir)) (builtins.attrNames (builtins.readDir programsDir))
); );
in programsImports; in
programsImports;
home = { home.stateVersion = "26.05"; # I hope you know what you're doing. :)
stateVersion = "26.05"; # I hope you know what you're doing. :) home.username = "coyote";
username = "coyote"; home.homeDirectory = "/home/coyote";
homeDirectory = "/home/coyote"; home.shell.enableShellIntegration = true;
shell.enableShellIntegration = true; home.packages = with pkgs; [
# programs
packages = with pkgs; [ tdf
# programs # productivity
tdf libreoffice-fresh
# productivity karp
libreoffice-fresh keepassxc
karp # multimedia
keepassxc furnace
# multimedia corrscope
furnace vlc
corrscope haruna
vlc subtitlecomposer
haruna kid3
subtitlecomposer kdePackages.kdenlive
kid3 unstable.audacity
kdePackages.kdenlive # Internet
unstable.audacity ungoogled-chromium
# Internet # games
ungoogled-chromium osu-lazer-bin
# games # emulation
osu-lazer-bin (unstable.bottles.override {removeWarningPopup = true;})
# emulation # lisps
(unstable.bottles.override {removeWarningPopup = true;}) chicken
# lisps guile
chicken sbcl
guile unstable.racket
sbcl # devel
unstable.racket unstable.lazygit
# devel ];
unstable.lazygit
];
};
programs = { programs = {
tmux = {
enable = true;
clock24 = true;
baseIndex = 1;
shortcut = "a";
keyMode = "vi";
terminal = "screen-256color";
escapeTime = 0;
extraConfig = ''
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
set-option -g status-right "\"#W\""
set -ga terminal-overrides ",*:RGB"
set -g mouse on
set -g set-clipboard on
'';
};
git = { git = {
enable = true; enable = true;
settings = { settings = {