summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorShubham Saini <ssaini@fispan.com>2023-09-30 04:02:23 +0000
committerShubham Saini <ssaini@fispan.com>2023-09-30 04:02:23 +0000
commitfdf1c788488534825abdbfe8f8c0e8e95a876d57 (patch)
tree1186b8b594f8a540bf019006cb3f2544219c8cd4 /modules
parentfdb9ba23a2cff4b50a699eb89435aa9a9de77891 (diff)
nix: reorg programs into modules
Diffstat (limited to 'modules')
-rw-r--r--modules/common.nix17
-rw-r--r--modules/fzf.nix9
-rw-r--r--modules/git.nix24
-rw-r--r--modules/lf.nix41
-rw-r--r--modules/zsh.nix2
5 files changed, 93 insertions, 0 deletions
diff --git a/modules/common.nix b/modules/common.nix
new file mode 100644
index 0000000..747a9cc
--- /dev/null
+++ b/modules/common.nix
@@ -0,0 +1,17 @@
1{ config, pkgs, ... }:
2
3{
4 programs.home-manager.enable = true;
5 home.sessionVariables = {
6 PATH = "$PATH:$HOME/.bin";
7 EDITOR = "nvim";
8 MANPAGER = "nvim +Man!";
9 };
10
11 imports = [
12 ./lf.nix
13 ./fzf.nix
14 ./git.nix
15 ./zsh.nix
16 ];
17}
diff --git a/modules/fzf.nix b/modules/fzf.nix
new file mode 100644
index 0000000..98e3ff9
--- /dev/null
+++ b/modules/fzf.nix
@@ -0,0 +1,9 @@
1{ config, pkgs, ... }:
2
3{
4 programs.fzf = {
5 enable = true;
6 enableZshIntegration = false;
7 defaultOptions = [ "--height 40%" "--layout=reverse" "--border" ];
8 };
9}
diff --git a/modules/git.nix b/modules/git.nix
new file mode 100644
index 0000000..87f6e73
--- /dev/null
+++ b/modules/git.nix
@@ -0,0 +1,24 @@
1{ config, pkgs, ... }:
2
3{
4 programs.git = {
5 enable = true;
6 userEmail = "me@ubh.sh";
7 userName = "Shubham Saini";
8 signing = {
9 key = "E0404DDE4BCF9DB5";
10 signByDefault = true;
11 };
12 extraConfig = {
13 commit.verbose = true;
14 init.defaultBranch = "master";
15 pull.rebase = "true";
16 };
17 includes = [
18 {
19 "path" = "~/dev/gitconfig";
20 "condition" = "gitdir:~/dev/";
21 }
22 ];
23 };
24}
diff --git a/modules/lf.nix b/modules/lf.nix
new file mode 100644
index 0000000..b0dd304
--- /dev/null
+++ b/modules/lf.nix
@@ -0,0 +1,41 @@
1{ config, pkgs, ... }:
2
3{
4 programs.lf = {
5 enable = true;
6 settings = {
7 shell = "sh";
8 icons = true;
9 drawbox = true;
10 scrolloff = 10;
11 shellopts = "-eu";
12 };
13 commands = {
14 extract = ''
15 %{{
16 set -f
17 case $f in
18 *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
19 *.tar.gz|*.tgz) tar xzvf $f;;
20 *.tar.xz|*.txz) tar xJvf $f;;
21 *.zip) unzip $f;;
22 *.rar) unrar x $f;;
23 *.7z) 7z x $f;;
24 esac
25 }}
26 '';
27 open = ''
28 %{{
29 case $(file --mime-type -Lb $f) in
30 text/*) lf -remote "send $id \$$EDITOR \$fx";;
31 *) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;;
32 esac
33 }}
34 '';
35 };
36 keybindings = {
37 "<enter>" = "shell";
38 "." = "set hidden!";
39 };
40 };
41}
diff --git a/modules/zsh.nix b/modules/zsh.nix
index bd7a30f..8f05af4 100644
--- a/modules/zsh.nix
+++ b/modules/zsh.nix
@@ -1,3 +1,5 @@
1{ config, pkgs, ... }:
2
1{ 3{
2 programs.zsh = { 4 programs.zsh = {
3 enable = true; 5 enable = true;