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

uhh maybe no nvf

lowkey i don't think i need LSP or IDE-adjacent features as a gosh darn
beginner to anything programming really
This commit is contained in:
asnev 2026-07-12 17:58:42 +07:00
commit da9931c43c
Signed by: asnev
SSH key fingerprint: SHA256:8hagYq9hDUuS5clQ78FKhIoQDvg5crdkYMHX+3g7wB4
7 changed files with 87 additions and 282 deletions

62
flake.lock generated
View file

@ -1,21 +1,5 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1777699697,
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
"ref": "refs/heads/main",
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
"revCount": 94,
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
},
"original": {
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -37,21 +21,6 @@
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1780772958,
"narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "mnw",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1783703440,
@ -70,11 +39,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1783522502,
"narHash": "sha256-iffAls3iaNTyJC2faYcUXSI+Gp02cDjYl+MygxKl2GI=",
"lastModified": 1783776592,
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0bb7ec54c8483066ec9d7720e780a5caa71f8612",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3",
"type": "github"
},
"original": {
@ -84,34 +53,11 @@
"type": "github"
}
},
"nvf": {
"inputs": {
"flake-compat": "flake-compat",
"mnw": "mnw",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1783767627,
"narHash": "sha256-UgQuKee2d5VhXaqectc23i2rarIufUpAVSTA6R8XloY=",
"owner": "notashelf",
"repo": "nvf",
"rev": "c55a3a783e6e1ecbbaad607b15a9b7b23d42236f",
"type": "github"
},
"original": {
"owner": "notashelf",
"repo": "nvf",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable",
"nvf": "nvf"
"nixpkgs-unstable": "nixpkgs-unstable"
}
}
},

View file

@ -2,12 +2,16 @@
description = "asnev's NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager/release-26.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nvf.url = "github:notashelf/nvf";
nvf.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-26.05";
};
nixpkgs-unstable = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
home-manager = {
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ {
@ -15,7 +19,6 @@
nixpkgs,
nixpkgs-unstable,
home-manager,
nvf,
...
}: {
nixosConfigurations.phostron = nixpkgs.lib.nixosSystem {
@ -30,10 +33,7 @@
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.users.coyote.imports = [
./users/coyote/home.nix
nvf.homeManagerModules.default
];
home-manager.users.coyote = import ./users/coyote/home.nix;
}
];
};

View file

@ -50,9 +50,9 @@
];
environment.systemPackages = with pkgs; [
# Nix
nh
alejandra
literate
# system utils
firmware-updater
mtr
@ -62,7 +62,6 @@
tree
wget
btop
dysk
plocate
traceroute
rlwrap
@ -75,6 +74,7 @@
bat
xh
tlrc
dysk
dust
hyperfine
ripgrep
@ -85,6 +85,8 @@
l = "eza --long --all";
ll = "eza --long";
ls = "eza --long";
".." = "cd ..";
"..." = "cd ../..";
};
programs = {

1
result
View file

@ -1 +0,0 @@
/nix/store/qy6mbm33y6vmn45j4gm884mn78xxhf1h-nixos-system-phostron-26.05.20260708.74cc63f

View file

@ -1,21 +1,13 @@
{pkgs, ...}: {
imports = let
programsDir = ./programs;
programsImports = map (name: programsDir + "/${name}") (
builtins.filter
(name: builtins.match ".*\\.nix" name != null)
(builtins.attrNames (builtins.readDir programsDir))
);
in
programsImports;
home.stateVersion = "26.05"; # I hope you know what you're doing. :)
home.username = "coyote";
home.homeDirectory = "/home/coyote";
home.shell.enableShellIntegration = true;
home.packages = with pkgs; [
# programs
# TUI
tdf
neocities
# productivity
libreoffice-fresh
karp
@ -35,12 +27,9 @@
osu-lazer-bin
# emulation
# (unstable.bottles.override {removeWarningPopup = true;})
# lisps
chicken
guile
sbcl
unstable.racket
# devel
unstable.racket
guile
unstable.lazygit
];
@ -63,19 +52,18 @@
set -g set-clipboard on
'';
};
git = {
enable = true;
settings = {
git.enable = true;
git.settings = {
init.defaultBranch = "main";
advice.defaultBranchName = false;
gpg.format = "ssh";
commit.gpgSign = true;
};
};
librewolf = {
enable = true;
languagePacks = ["en-GB"];
settings = {
librewolf.enable = true;
librewolf.languagePacks = ["en-GB"];
librewolf.settings = {
"privacy.resistFingerprinting" = false;
"librewolf.webgl.prompt" = false;
"identity.fxaccounts.enabled" = true;
@ -83,21 +71,27 @@
"general.autoScroll" = true;
"browser.discovery.containers.enabled" = false;
};
};
yt-dlp = {
enable = true;
package = pkgs.unstable.yt-dlp;
};
starship = {
package = pkgs.unstable.starship;
};
obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
yt-dlp.enable = true;
yt-dlp.package = pkgs.unstable.yt-dlp;
starship.package = pkgs.unstable.starship;
obs-studio.enable = true;
obs-studio.plugins = with pkgs.obs-studio-plugins; [
input-overlay
droidcam-obs
wlrobs
];
};
};
imports = let
programsDir = ./programs;
programsImports = map (name: programsDir + "/${name}") (
builtins.filter
(name: builtins.match ".*\\.nix" name != null)
(builtins.attrNames (builtins.readDir programsDir))
);
in
programsImports;
}

View file

@ -1,145 +0,0 @@
{
pkgs,
...
}: {
programs.nvf.enable = true;
programs.nvf.settings.vim = {
enableMan = true;
viAlias = true;
vimAlias = true;
options = {
mouse = "a";
clipboard = "unnamedplus";
showmode = false;
breakindent = true;
undofile = true;
ignorecase = true;
smartcase = true;
updatetime = 250;
timeoutlen = 300;
splitright = true;
splitbelow = true;
signcolumn = "yes";
scrolloff = 8;
completeopt = "menuone,noselect";
termguicolors = true;
expandtab = true;
shiftwidth = 4;
tabstop = 4;
softtabstop = 4;
};
colorschemes.gruvbox = {
enable = true;
settings.contrast = "hard";
};
treesitter = {
enable = true;
ensureInstalled = [
"org"
"python"
"rust"
"c"
"cpp"
"lua"
"html"
"css"
"javascript"
"typescript"
"json"
"yaml"
"nix"
"bash"
"go"
"make"
"clojure"
"scheme"
"commonlisp"
];
};
rainbow-delimiters.enable = true;
orgmode.enable = true;
extraPlugins = with pkgs.vimPlugins; {
orgmode-babel = orgmode-babel-nvim;
};
luaConfigRC = {
org-babel = ''require("orgmode-babel").setup()'';
indent = ''
local two_space_ft = {
"html", "htmldjango", "css", "scss", "less",
"nix", "javascript", "typescript",
"javascriptreact", "typescriptreact",
"json", "jsonc", "yaml", "lua"
}
local four_space_ft = {
"python", "rust", "c", "cpp",
"java", "scala", "kotlin", "swift"
}
local tab_ft = {
"make", "go", "odin"
}
local indent_augroup = vim.api.nvim_create_augroup("IndentSettings", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
group = indent_augroup,
pattern = two_space_ft,
callback = function()
vim.opt_local.expandtab = true
vim.opt_local.shiftwidth = 2
vim.opt_local.tabstop = 2
vim.opt_local.softtabstop = 2
end,
})
vim.api.nvim_create_autocmd("FileType", {
group = indent_augroup,
pattern = four_space_ft,
callback = function()
vim.opt_local.expandtab = true
vim.opt_local.shiftwidth = 4
vim.opt_local.tabstop = 4
vim.opt_local.softtabstop = 4
end,
})
vim.api.nvim_create_autocmd("FileType", {
group = indent_augroup,
pattern = tab_ft,
callback = function()
vim.opt_local.expandtab = false
vim.opt_local.shiftwidth = 0
vim.opt_local.tabstop = 8
vim.opt_local.softtabstop = 0
end,
})
'';
lisp-indent = ''
local lisp_ft = { "lisp", "scheme", "racket", "clojure" }
local lisp_augroup = vim.api.nvim_create_augroup("LispIndent", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
group = lisp_augroup,
pattern = lisp_ft,
callback = function()
vim.opt_local.lisp = true
vim.opt_local.lispwords:append({
"defun", "defmacro", "defvar", "defparameter",
"lambda", "let", "let*", "flet", "labels",
"progn", "when", "unless", "if", "cond"
})
end,
})
'';
};
};
}

View file

@ -6,11 +6,24 @@
programs.vim = {
enable = true;
packageConfigurable = pkgs.unstable.vim-full;
plugins = with pkgs.unstable.vimPlugins; [
plugins = let
literate-vim = pkgs.vimUtils.buildVimPlugin {
name = "literate.vim";
src = pkgs.fetchFromGitHub {
owner = "zyedidia";
repo = "literate.vim";
rev = "4ffd45cb1657b67f4ed0eb639478a69209ec1f94";
sha256 = "sha256-X5iJyjeLBkKh4tUoDG8VDO6DwYVOI9DpRqpic8NinwA=";
};
};
in
with pkgs.unstable.vimPlugins; [
gruvbox
rainbow
vim-indent-guides
literate-vim
];
defaultEditor = true;
extraConfig = ''
let g:terminal_ansi_colors = ['#282828', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#a89984', '#928374', '#fb4934', '#b8bb26', '#fabd2f', '#83a598', '#d3869b', '#8ec07c', '#ebdbb2']
@ -57,15 +70,11 @@
" rainbow
let g:rainbow_active = 1
" vim-indent-guides
let g:indent_guides_enable_on_vim_startup = 0
let g:indent_guides_start_level = 3
'';
};
home.file = let
mkVim = content: langs:
mkVimAfterFtplugin = content: langs:
builtins.listToAttrs (map (lang: {
name = ".vim/after/ftplugin/${lang}.vim";
value = {text = content;};
@ -100,13 +109,13 @@
setlocal autoindent
setlocal showmatch
setlocal lispwords+=defmacro,defmethod,define-syntax,let,let*,letre,cond
setlocal lispwords+=defun,defmacro,defvar,defparameter,defmethod,define-syntax,lambda,let,let*,letre,flet,labels,progn,when,unless,if,cond
'';
in
lib.mkMerge [
(mkVim tab2Vim ["javascript" "typescript" "html" "css" "json" "nix" "vim"])
(mkVim tab4Vim ["python" "rust" "java" "lua" "c" "cpp" "h" "hpp"])
(mkVim tabsVim ["go" "make"])
(mkVim lispVim ["lisp" "scheme" "clojure" "racket"])
(mkVimAfterFtplugin tab2Vim ["javascript" "typescript" "html" "css" "json" "nix" "vim"])
(mkVimAfterFtplugin tab4Vim ["python" "rust" "java" "lua" "c" "cpp" "h" "hpp"])
(mkVimAfterFtplugin tabsVim ["go" "make"])
(mkVimAfterFtplugin lispVim ["lisp" "scheme" "clojure" "racket"])
];
}