flake revamp 2
This commit is contained in:
parent
435628dc4a
commit
6a367190cc
8 changed files with 184 additions and 233 deletions
18
flake.lock
generated
18
flake.lock
generated
|
|
@ -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": {
|
||||||
|
|
|
||||||
13
flake.nix
13
flake.nix
|
|
@ -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;
|
||||||
};
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
}
|
|
||||||
|
|
@ -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];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
Reference in a new issue