Archived
Watch
1
0
Fork
You've already forked nixos
0
This commit is contained in:
asnev 2026-07-04 22:46:52 +07:00
commit 59d62d7236
Signed by: asnev
SSH key fingerprint: SHA256:8hagYq9hDUuS5clQ78FKhIoQDvg5crdkYMHX+3g7wB4
7 changed files with 126 additions and 55 deletions

View file

@ -49,12 +49,32 @@
systemPackages = with pkgs; [ systemPackages = with pkgs; [
vim vim
# Nix # Nix
nh alejandra nh
alejandra
# system utils # system utils
firmware-updater mtr gnupg ddate testdisk tree wget btop dysk plocate firmware-updater
traceroute rlwrap entr mtr
gnupg
ddate
testdisk
tree
wget
btop
dysk
plocate
traceroute
rlwrap
entr
# extra utils # extra utils
fd bat xh tlrc dust hyperfine ripgrep fzf eza fd
bat
xh
tlrc
dust
hyperfine
ripgrep
fzf
eza
]; ];
shellAliases = { shellAliases = {
l = "eza --long --all"; l = "eza --long --all";
@ -66,7 +86,10 @@
programs = { programs = {
fish.enable = true; fish.enable = true;
starship.enable = true; starship.enable = true;
atuin = { enable = true; settings.sync_address = "https://api.atuin.sh"; }; atuin = {
enable = true;
settings.sync_address = "https://api.atuin.sh";
};
nix-ld = { nix-ld = {
enable = true; enable = true;
libraries = with pkgs; [ libraries = with pkgs; [
@ -97,11 +120,20 @@
fonts = { fonts = {
packages = with pkgs; [ packages = with pkgs; [
# GUI fonts # GUI fonts
inter corefonts vista-fonts roboto cantarell-fonts inter
corefonts
vista-fonts
roboto
cantarell-fonts
# fonts for i18n # fonts for i18n
noto-fonts noto-fonts-cjk-sans noto-fonts-cjk-serif noto-fonts
noto-fonts-color-emoji noto-fonts-monochrome-emoji noto-fonts-cjk-sans
unifont unifont_upper unifont-csur noto-fonts-cjk-serif
noto-fonts-color-emoji
noto-fonts-monochrome-emoji
unifont
unifont_upper
unifont-csur
# terminal fonts # terminal fonts
nerd-fonts.iosevka nerd-fonts.iosevka
]; ];

View file

@ -2,27 +2,21 @@
description = "asnev's NixOS configuration"; description = "asnev's NixOS configuration";
inputs = { inputs = {
nixpkgs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
}; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
nixpkgs-unstable = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-26.05"; url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-flatpak = {
url = "github:gmodena/nix-flatpak/?ref=latest";
};
}; };
outputs = inputs @ { outputs = inputs @ {
self, self,
nixpkgs, nixpkgs,
nixpkgs-unstable, nixpkgs-unstable,
home-manager,
nix-flatpak, nix-flatpak,
home-manager,
... ...
}: let }: let
system = "x86_64-linux"; system = "x86_64-linux";
@ -31,24 +25,27 @@
phostron = nixpkgs.lib.nixosSystem { phostron = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;}; specialArgs = {inherit inputs;};
modules = [ modules = [
({
({config, pkgs, ...}: { config,
nixpkgs.hostPlatform = system; pkgs,
nixpkgs.config.allowUnfree = true; ...
nixpkgs.overlays = [ }: {
(final: prev: { nixpkgs = {
unstable = import nixpkgs-unstable { hostPlatform = system;
system = prev.stdenv.hostPlatform.system; config.allowUnfree = true;
config.allowUnfree = true; overlays = [
}; (final: prev: {
}) unstable = import nixpkgs-unstable {
]; system = prev.stdenv.hostPlatform.system;
config.allowUnfree = true;
};
})
];
};
}) })
./hosts/phostron/default.nix ./hosts/phostron/default.nix
./profiles/kde.nix ./profiles/kde.nix
./users/coyote/default.nix ./users/coyote/default.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager = { home-manager = {
@ -61,7 +58,6 @@
]; ];
}; };
} }
]; ];
}; };
}; };

View file

@ -6,7 +6,13 @@
environment = { environment = {
systemPackages = with pkgs.kdePackages; [ systemPackages = with pkgs.kdePackages; [
kate bluez-qt kalk filelight kamoso konversation kmail kate
bluez-qt
kalk
filelight
kamoso
konversation
kmail
]; ];
plasma6.excludePackages = with pkgs.kdePackages; [discover]; plasma6.excludePackages = with pkgs.kdePackages; [discover];
}; };

View file

@ -19,15 +19,32 @@ in {
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
# system utils # system utils
unzip imagemagick ghostscript tectonic mermaid-cli unzip
imagemagick
ghostscript
tectonic
mermaid-cli
# programming # programming
python3 lua gcc clang chicken guile sbcl nodejs python3
lua
gcc
clang
chicken
guile
sbcl
nodejs
unstable.racket unstable.racket
# devel # devel
ast-grep luarocks stylua ast-grep
luarocks
stylua
unstable.lazygit unstable.lazygit
# LSPs # LSPs
ty nil marksman systemd-lsp bash-language-server ty
nil
marksman
systemd-lsp
bash-language-server
]; ];
sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent"; sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent";
}; };

View file

@ -8,3 +8,7 @@ setlocal autoindent
setlocal showmatch setlocal showmatch
setlocal lispwords+=defmacro,defmethod,define-syntax,let,let*,letre,cond setlocal lispwords+=defmacro,defmethod,define-syntax,let,let*,letre,cond
if exists('*rainbow#load')
call rainbow#load()
endif

View file

@ -10,7 +10,7 @@ syntax on
set ruler set ruler
set showcmd set showcmd
set showmode set showmode
set laststatus=1 set laststatus=2
set wildmenu set wildmenu
set wildmode=longest,list,full set wildmode=longest,list,full
set ttyfast set ttyfast

View file

@ -1,10 +1,14 @@
{pkgs, lib, ...}: {
let pkgs,
lib,
...
}: let
mkVimFt = src: langs: mkVimFt = src: langs:
builtins.listToAttrs (map (lang: { builtins.listToAttrs (map (lang: {
name = ".vim/after/ftplugin/${lang}.vim"; name = ".vim/after/ftplugin/${lang}.vim";
value = { source = src; }; value = {source = src;};
}) langs); })
langs);
in { in {
home = { home = {
stateVersion = "26.05"; # I hope you know what you're doing. :) stateVersion = "26.05"; # I hope you know what you're doing. :)
@ -15,11 +19,19 @@ in {
packages = with pkgs; [ packages = with pkgs; [
# programs # programs
fastfetch helix fastfetch
helix
# productivity # productivity
libreoffice-fresh karp keepassxc libreoffice-fresh
karp
keepassxc
# multimedia # multimedia
furnace corrscope vlc haruna subtitlecomposer kid3 furnace
corrscope
vlc
haruna
subtitlecomposer
kid3
kdePackages.kdenlive kdePackages.kdenlive
unstable.audacity unstable.audacity
# Internet # Internet
@ -27,7 +39,7 @@ in {
# games # games
osu-lazer-bin osu-lazer-bin
# emulation # emulation
(unstable.bottles.override { removeWarningPopup = true; }) (unstable.bottles.override {removeWarningPopup = true;})
]; ];
file = lib.mkMerge [ file = lib.mkMerge [
@ -36,12 +48,15 @@ in {
".config/fastfetch/config.jsonc".source = ./dotfiles/fastfetch.jsonc; ".config/fastfetch/config.jsonc".source = ./dotfiles/fastfetch.jsonc;
".config/helix/config.toml".source = ./dotfiles/helix/helix.toml; ".config/helix/config.toml".source = ./dotfiles/helix/helix.toml;
".config/helix/languages.toml".source = ./dotfiles/helix/helix-languages.toml; ".config/helix/languages.toml".source = ./dotfiles/helix/helix-languages.toml;
".config/nvim" = { source = ./dotfiles/nvim; recursive = true; }; ".config/nvim" = {
source = ./dotfiles/nvim;
recursive = true;
};
} }
(mkVimFt ./dotfiles/vim/vim-tab2 [ "javascript" "typescript" "html" "css" "json" "nix" ]) (mkVimFt ./dotfiles/vim/vim-tab2 ["javascript" "typescript" "html" "css" "json" "nix"])
(mkVimFt ./dotfiles/vim/vim-tab4 [ "python" "rust" "java" "lua" ]) (mkVimFt ./dotfiles/vim/vim-tab4 ["python" "rust" "java" "lua" "c" "cpp" "h" "hpp"])
(mkVimFt ./dotfiles/vim/vim-tabs [ "go" "make" ]) (mkVimFt ./dotfiles/vim/vim-tabs ["go" "make"])
(mkVimFt ./dotfiles/vim/vim-lisp [ "lisp" "scheme" "clojure" "racket" ]) (mkVimFt ./dotfiles/vim/vim-lisp ["lisp" "scheme" "clojure" "racket"])
]; ];
}; };
@ -49,6 +64,7 @@ in {
vim = { vim = {
enable = true; enable = true;
packageConfigurable = pkgs.unstable.vim-full; packageConfigurable = pkgs.unstable.vim-full;
plugins = with pkgs.unstable.vimPlugins; [rainbow];
defaultEditor = true; defaultEditor = true;
}; };
neovim = { neovim = {