Initial shared NixOS modules
This commit is contained in:
10
home/default/bash.nix
Normal file
10
home/default/bash.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
historyFileSize = 2000000000;
|
||||
historySize = 100000000;
|
||||
shellOptions = [ "histappend" "cmdhist" ];
|
||||
historyControl = [ "ignoredups" "ignorespace" ];
|
||||
};
|
||||
}
|
||||
9
home/default/basic.nix
Normal file
9
home/default/basic.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
# Home Manager needs a bit of information about you and the paths it should manage.
|
||||
home.username = lib.mkDefault "tb";
|
||||
home.homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
||||
}
|
||||
11
home/default/direnv.nix
Normal file
11
home/default/direnv.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
|
||||
nix-direnv = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
21
home/default/git.nix
Normal file
21
home/default/git.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
|
||||
extraConfig = {
|
||||
pull.ff = "only";
|
||||
|
||||
merge.conflictstyle = "zdiff3";
|
||||
init.defaultBranch = "main";
|
||||
diff.algorithm = "histogram";
|
||||
|
||||
transfer.fsckobjects = true;
|
||||
fetch.fsckobjects = true;
|
||||
receive.fsckObjects = true;
|
||||
|
||||
log.date = "iso";
|
||||
};
|
||||
};
|
||||
}
|
||||
128
home/develop/emacs.nix
Normal file
128
home/develop/emacs.nix
Normal file
@@ -0,0 +1,128 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
|
||||
# Optionally provide extra packages not in the configuration file.
|
||||
extraPackages = epkgs: with epkgs; [
|
||||
|
||||
# === SEARCH AND FILE UTILITIES ===
|
||||
ag # Silver searcher integration for fast text search
|
||||
|
||||
# === WEB AND SERVER CONFIGURATION ===
|
||||
apache-mode # Syntax highlighting for Apache config files
|
||||
nginx-mode # Syntax highlighting for Nginx config files
|
||||
|
||||
# === HARDWARE AND EMBEDDED DEVELOPMENT ===
|
||||
arduino-mode # Arduino sketch development support
|
||||
|
||||
# === DOCUMENT PREPARATION ===
|
||||
auctex # Comprehensive LaTeX editing environment
|
||||
pandoc-mode # Pandoc document converter integration
|
||||
|
||||
# === PROGRAMMING LANGUAGE SUPPORT ===
|
||||
basic-mode # BASIC programming language support
|
||||
bison-mode # Bison parser generator syntax
|
||||
cmake-mode # CMake build system configuration
|
||||
coffee-mode # CoffeeScript programming language
|
||||
csharp-mode # C# programming language
|
||||
groovy-mode # Groovy/Jenkins pipeline scripting
|
||||
haskell-mode # Haskell functional programming
|
||||
js2-mode # Enhanced JavaScript editing mode
|
||||
lua-mode # Lua scripting language
|
||||
php-mode # PHP web development
|
||||
python-mode # Python programming language
|
||||
scala-mode # Scala programming language
|
||||
|
||||
# === MARKUP AND DATA FORMATS ===
|
||||
csv-mode # Comma-separated values file editing
|
||||
dockerfile-mode # Docker container definition files
|
||||
jinja2-mode # Jinja2 template engine syntax
|
||||
markdown-mode # Markdown markup language
|
||||
nix-mode # Nix expression language (NixOS configs)
|
||||
protobuf-mode # Protocol Buffers schema definitions
|
||||
qml-mode # Qt QML user interface markup
|
||||
yaml-mode # YAML configuration files
|
||||
gnuplot-mode # Gnuplot script editing and plotting integration
|
||||
|
||||
# === TEXT COMPLETION AND PRODUCTIVITY ===
|
||||
company # Text completion framework
|
||||
smex # Enhanced M-x command with history
|
||||
|
||||
# === USER INTERFACE ENHANCEMENTS ===
|
||||
diminish # Hide minor modes from the mode line
|
||||
smooth-scrolling # Smoother scrolling experience
|
||||
rainbow-delimiters # Color-code nested parentheses/brackets
|
||||
|
||||
# === ENVIRONMENT AND PROJECT MANAGEMENT ===
|
||||
direnv # Environment variable management per directory
|
||||
projectile # Project interaction and navigation library
|
||||
|
||||
# === LANGUAGE SERVER PROTOCOL (LSP) ===
|
||||
# Modern language support with intelligent features
|
||||
eglot # Built-in LSP client (simpler alternative to lsp-mode)
|
||||
lsp-mode # Comprehensive Language Server Protocol client
|
||||
lsp-java # Java language server integration
|
||||
lsp-metals # Scala language server (Metals) integration
|
||||
eglot-java # Java support for eglot LSP client
|
||||
sbt-mode # Scala Build Tool integration
|
||||
dap-mode # Debug Adapter Protocol for debugging support
|
||||
|
||||
# === SYNTAX CHECKING ===
|
||||
flycheck # On-the-fly syntax checking framework
|
||||
|
||||
# === VERSION CONTROL ===
|
||||
git-link # Generate links to Git repository web interfaces
|
||||
magit # Comprehensive Git porcelain for Emacs
|
||||
|
||||
# === TEXT EDITING ENHANCEMENTS ===
|
||||
goto-last-change # Jump to the location of last edit
|
||||
iedit # Edit multiple occurrences of text simultaneously
|
||||
bm # Visual bookmarks for quick navigation
|
||||
|
||||
# === CODE FORMATTING AND CLEANUP ===
|
||||
web-beautify # Format and beautify web code (HTML/CSS/JS)
|
||||
whitespace-cleanup-mode # Automatically clean up whitespace on save
|
||||
|
||||
# === PARENTHESES AND STRUCTURE EDITING ===
|
||||
paredit # Balanced parentheses editing for Lisp-like languages
|
||||
smartparens # Smart handling of pairs (parentheses, quotes, etc.)
|
||||
|
||||
# === SNIPPETS AND TEMPLATES ===
|
||||
yasnippet # Template system for inserting code snippets
|
||||
quelpa-use-package # Package management for packages not in MELPA
|
||||
|
||||
# === VISUAL THEMES ===
|
||||
grandshell-theme # Dark theme with good contrast
|
||||
leuven-theme # Light theme designed for readability
|
||||
|
||||
# === TREE-SITTER GRAMMARS ===
|
||||
# Modern syntax highlighting and parsing using tree-sitter
|
||||
treesit-grammars.with-all-grammars # All available tree-sitter language grammars
|
||||
|
||||
# === TREE-SITTER BASED MODES ===
|
||||
# These modes use tree-sitter for better performance and accuracy
|
||||
awk-ts-mode # AWK script editing with tree-sitter
|
||||
dart-mode # Dart programming (Flutter development)
|
||||
graphql-ts-mode # GraphQL query language with tree-sitter
|
||||
jq-ts-mode # jq JSON processor with tree-sitter
|
||||
markdown-ts-mode # Markdown with tree-sitter parsing
|
||||
mermaid-ts-mode # Mermaid diagram syntax with tree-sitter
|
||||
scala-ts-mode # Scala with tree-sitter (alternative to scala-mode)
|
||||
swift-ts-mode # Swift programming with tree-sitter
|
||||
|
||||
#"dired+"
|
||||
#dired-copy-paste
|
||||
#frame-cmds
|
||||
#frame-fns
|
||||
#sourcepair
|
||||
#zoom-frm
|
||||
];
|
||||
|
||||
extraConfig = ''
|
||||
(setq standard-indent 2)
|
||||
|
||||
(load-theme 'grandshell t)
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user