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; [
vim
# Nix
nh alejandra
nh
alejandra
# system utils
firmware-updater mtr gnupg ddate testdisk tree wget btop dysk plocate
traceroute rlwrap entr
firmware-updater
mtr
gnupg
ddate
testdisk
tree
wget
btop
dysk
plocate
traceroute
rlwrap
entr
# extra utils
fd bat xh tlrc dust hyperfine ripgrep fzf eza
fd
bat
xh
tlrc
dust
hyperfine
ripgrep
fzf
eza
];
shellAliases = {
l = "eza --long --all";
@ -66,7 +86,10 @@
programs = {
fish.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 = {
enable = true;
libraries = with pkgs; [
@ -97,11 +120,20 @@
fonts = {
packages = with pkgs; [
# GUI fonts
inter corefonts vista-fonts roboto cantarell-fonts
inter
corefonts
vista-fonts
roboto
cantarell-fonts
# fonts for i18n
noto-fonts noto-fonts-cjk-sans noto-fonts-cjk-serif
noto-fonts-color-emoji noto-fonts-monochrome-emoji
unifont unifont_upper unifont-csur
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-color-emoji
noto-fonts-monochrome-emoji
unifont
unifont_upper
unifont-csur
# terminal fonts
nerd-fonts.iosevka
];

View file

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

View file

@ -6,7 +6,13 @@
environment = {
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];
};

View file

@ -19,15 +19,32 @@ in {
environment = {
systemPackages = with pkgs; [
# system utils
unzip imagemagick ghostscript tectonic mermaid-cli
unzip
imagemagick
ghostscript
tectonic
mermaid-cli
# programming
python3 lua gcc clang chicken guile sbcl nodejs
unstable.racket
python3
lua
gcc
clang
chicken
guile
sbcl
nodejs
unstable.racket
# devel
ast-grep luarocks stylua
ast-grep
luarocks
stylua
unstable.lazygit
# 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";
};

View file

@ -8,3 +8,7 @@ setlocal autoindent
setlocal showmatch
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 showcmd
set showmode
set laststatus=1
set laststatus=2
set wildmenu
set wildmode=longest,list,full
set ttyfast

View file

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