diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..c0bba54 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,2 @@ +[safe] + diretory = nix diff --git a/aw-category-export.json b/aw-category-export.json index 9c64789..83b7d3b 100644 --- a/aw-category-export.json +++ b/aw-category-export.json @@ -66,7 +66,7 @@ ], "rule": { "type": "regex", - "regex": "Minecraft|RimWorld|Overwatch|steam_app_2357570|steam|Halo|Unrailed|tf_linux64|Warframe|Counter|Strike" + "regex": "Minecraft|RimWorld|Overwatch|steam_app_2357570|steam|Halo|Unrailed|tf_linux64|Warframe|Counter|Strike|Steam" }, "data": { "color": "#009CE0" @@ -187,7 +187,7 @@ ], "rule": { "type": "regex", - "regex": "classroom\\.google\\.com" + "regex": "classroom" }, "id": 14, "data": { @@ -197,7 +197,7 @@ { "name": [ "Education", - "Self improvment" + "Uni online" ], "rule": { "type": "regex", @@ -231,7 +231,7 @@ ], "rule": { "type": "regex", - "regex": "nix" + "regex": "\\.nix" }, "id": 17, "data": { @@ -246,7 +246,7 @@ ], "rule": { "type": "regex", - "regex": "java" + "regex": "\\.java" }, "id": 18, "data": { @@ -261,7 +261,7 @@ ], "rule": { "type": "regex", - "regex": "ts" + "regex": "\\.ts" }, "id": 19, "data": { @@ -298,7 +298,7 @@ ], "rule": { "type": "regex", - "regex": "Copilot" + "regex": "Copilot|CodeCompanion" }, "id": 22, "data": { @@ -317,6 +317,51 @@ "data": { "color": "#16A5A5" } + }, + { + "name": [ + "Productivity", + "Programming", + "Lua" + ], + "rule": { + "type": "regex", + "regex": "\\.lua" + }, + "id": 24, + "data": { + "color": "#000080" + } + }, + { + "name": [ + "Productivity", + "Programming", + "Markdown" + ], + "rule": { + "type": "regex", + "regex": "\\.md|\\.MD" + }, + "id": 25, + "data": { + "color": "#ffffff" + } + }, + { + "name": [ + "Productivity", + "Programming", + "Css" + ], + "rule": { + "type": "regex", + "regex": "\\.css|Stylus" + }, + "id": 26, + "data": { + "color": "#264de4" + } } ] } \ No newline at end of file diff --git a/keyboard.png b/keyboard.png new file mode 100644 index 0000000..bc4519a Binary files /dev/null and b/keyboard.png differ diff --git a/layout.txt b/layout.txt new file mode 100644 index 0000000..e96d476 --- /dev/null +++ b/layout.txt @@ -0,0 +1,6 @@ +[{a:6},"Esc","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12",{a:5},"PrtSc\nNmLk","Pause\nScrLk","Delete\nInsert"], +[{a:4},"~\n`",{c:"#fad000"},"!\n1\n\n\n\n\n\n\n\n\nlang hu","@\n2\n\n\n\n\n\n\n\n\nlang hu",{c:"#cccccc"},"#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0",{c:"#fad000"},"_\n-\n\n\n\n\n\n\n\n\nmus vol -","+\n=\n\n\n\n\n\n\n\n\nmus vol +",{c:"#cccccc",a:6,w:2},"Backspace","Home"], +[{a:4,w:1.5},"Tab","Q",{c:"#FF628C"},"W\n\n\n\n\n\n\n\n\n\nrep save","E\n\n\n\n\n\n\n\n\n\nrofi calc","R\n\n\n\n\n\n\n\n\n\nfirefox","T\n\n\n\n\n\n\n\n\nterminal",{c:"#cccccc"},"Y","U","I","O",{c:"#FF628C",t:"#000000\n\n\n\n\n\n\n\n\n\n#000000"},"P\n\n\n\n\n\n\n\n\n\npassword manager",{c:"#fad000",t:"#000000"},"{\n[\n\n\n\n\n\n\n\n\nmus pos -","}\n]\n\n\n\n\n\n\n\n\nmu pos +",{c:"#cccccc",w:1.5},"|\n\\",{a:6},"Page Up"], +[{a:4,w:1.75},"Caps Lock",{c:"#FF628C"},"A\n\n\n\n\n\n\n\n\n\nrep screen",{fa:[0,0,0,0,0,0,0,0,0,0,1]},"S\n\n\n\n\n\n\n\n\n\nrep current win start","D\n\n\n\n\n\n\n\n\nrofi dmenu",{f:3},"F\n\n\n\n\n\n\n\n\n\nrofi emoji",{c:"#cccccc"},"G","H","J","K",{c:"#fad000",t:"#191830",f:3},"L\n\n\n\n\n\n\n\n\n\nmus prev",{t:"#000000",f:3},":\n;\n\n\n\n\n\n\n\n\nmus pause",{f:3},"\"\n'\n\n\n\n\n\n\n\n\nmus next",{c:"#cccccc",a:6,w:2.25},"Enter","Page Down"], +[{w:2.25},"Shift",{a:4},"Z",{c:"#FF628C",f:3},"X\n\n\n\n\n\n\n\n\n\nreplay stop",{c:"#cccccc"},"C","V","B","N",{c:"#FF628C"},"M\nmusic",{c:"#cccccc"},"<\n,",">\n.","?\n/",{a:6,w:1.75},"Shift",{a:7},"↑",{a:6},"End"], +[{w:1.25},"Ctrl",{c:"#FF628C",w:1.25},"Win",{c:"#fad000",w:1.25},"Alt",{c:"#cccccc",a:7,w:6.25},"",{a:6},"Alt","Fn","Ctrl",{a:7},"←","↓","→"] diff --git a/nix/apps/communication.nix b/nix/apps/communication.nix index 7533cd3..8ee6113 100755 --- a/nix/apps/communication.nix +++ b/nix/apps/communication.nix @@ -7,8 +7,9 @@ mumble # voip element-desktop # fully featured matrix client #gomuks # tui matrix client - + iamb simplex-chat-desktop + ]; diff --git a/nix/apps/prod.nix b/nix/apps/prod.nix index 7f48d05..a5c78b6 100755 --- a/nix/apps/prod.nix +++ b/nix/apps/prod.nix @@ -8,7 +8,7 @@ inputs.dttyper.packages.x86_64-linux.default # For tracking activity across the whole computer - activitywatch + pkgs.last.activitywatch ]; } diff --git a/nix/configs/alacritty.nix b/nix/configs/alacritty.nix index 0cfc563..ac88136 100644 --- a/nix/configs/alacritty.nix +++ b/nix/configs/alacritty.nix @@ -1,41 +1,41 @@ -{ pkgs, ... }: { +{ pkgs, user, ... }: +{ - home-manager.users.grape.programs.alacritty = - { - enable = true; - settings = { - font.normal = { - family = "Jetbrains Mono Nerd font"; - style = "Regular"; - }; + home-manager.users.${user}.programs.alacritty = { + enable = true; + settings = { + font.normal = { + family = "Jetbrains Mono Nerd font"; + style = "Regular"; + }; - colors = { - primary.background = "0x1E1E3F"; - primary.foreground = "0xE1EFFF"; + colors = { + primary.background = "0x1E1E3F"; + primary.foreground = "0xE1EFFF"; - cursor.text = "0x1E1E3F"; - cursor.cursor = "0xFAD000"; + cursor.text = "0x1E1E3F"; + cursor.cursor = "0xFAD000"; - # Normal colors - normal.black = "0x000000"; - normal.red = "0xEC3A37"; - normal.green = "0x75e44c"; - normal.yellow = "0xFAD000"; - normal.blue = "0x6943FF"; - normal.magenta = "0xFF2C70"; - normal.cyan = "0x80FCFF"; - normal.white = "0xFFFFFF"; + # Normal colors + normal.black = "0x000000"; + normal.red = "0xEC3A37"; + normal.green = "0x75e44c"; + normal.yellow = "0xFAD000"; + normal.blue = "0x6943FF"; + normal.magenta = "0xFF2C70"; + normal.cyan = "0x80FCFF"; + normal.white = "0xFFFFFF"; - # Bright colors - bright.black = "0x5C5C61"; - bright.red = "0xEC3A37"; - bright.green = "0x3AD900"; - bright.yellow = "0xFAD000"; - bright.blue = "0x6943FF"; - bright.magenta = "0xFB94FF"; - bright.cyan = "0x80FCFF"; - bright.white = "0x2D2B55"; - }; + # Bright colors + bright.black = "0x5C5C61"; + bright.red = "0xEC3A37"; + bright.green = "0x3AD900"; + bright.yellow = "0xFAD000"; + bright.blue = "0x6943FF"; + bright.magenta = "0xFB94FF"; + bright.cyan = "0x80FCFF"; + bright.white = "0x2D2B55"; }; }; + }; } diff --git a/nix/configs/btop.nix b/nix/configs/btop.nix index e802520..a00c19e 100644 --- a/nix/configs/btop.nix +++ b/nix/configs/btop.nix @@ -1,5 +1,6 @@ -{ pkgs, ... }: { - home-manager.users.grape = { +{ pkgs, user, ... }: +{ + home-manager.users.${user} = { programs.btop.settings = { theme_background = false; }; diff --git a/nix/configs/dunst.nix b/nix/configs/dunst.nix index e569bf7..0d8511b 100644 --- a/nix/configs/dunst.nix +++ b/nix/configs/dunst.nix @@ -1,6 +1,6 @@ -{ pkgs, ... }: { +{ pkgs, user, ... }: { - home-manager.users.grape.services.dunst = { + home-manager.users.${user}.services.dunst = { enable = true; settings = { global = { diff --git a/nix/configs/element.nix b/nix/configs/element.nix index 22f0ac9..74b87c7 100644 --- a/nix/configs/element.nix +++ b/nix/configs/element.nix @@ -1,6 +1,7 @@ -{ pkgs, ... }: { +{ pkgs, user, ... }: +{ # https://github.com/element-hq/element-web/blob/develop/config.sample.json - home-manager.users.grape.home.file.".config/Element/config.json" = { + home-manager.users.${user}.home.file.".config/Element/config.json" = { enable = true; text = '' { diff --git a/nix/configs/firefox.nix b/nix/configs/firefox.nix index dd478fa..25ca677 100644 --- a/nix/configs/firefox.nix +++ b/nix/configs/firefox.nix @@ -1,5 +1,6 @@ -{ pkgs, ... }: { - home-manager.users.grape = { +{ pkgs, user, ... }: +{ + home-manager.users.${user} = { programs.firefox = { enable = true; profiles = { @@ -12,82 +13,132 @@ userChrome = builtins.readFile "/home/grape/dotfiles/nix/opt/firefox/userChrome.css"; # browser styles userContent = builtins.readFile "/home/grape/dotfiles/nix/opt/firefox/userContent.css"; # browser styles - extensions = - with pkgs; [ - nur.repos.rycee.firefox-addons.ublock-origin - nur.repos.rycee.firefox-addons.clearurls # clear tracking urls - nur.repos.rycee.firefox-addons.stylus # cool styling for websites - nur.repos.rycee.firefox-addons.localcdn # locally stores frameworks such as vue, tailwind ect.. - nur.repos.rycee.firefox-addons.libredirect # redirects to libre version of spyware sites - nur.repos.rycee.firefox-addons.tridactyl # vim like keybinds - nur.repos.rycee.firefox-addons.istilldontcareaboutcookies # dismisses cookie banners - nur.repos.rycee.firefox-addons.noscript # block js - nur.repos.rycee.firefox-addons.tabliss # sexy new tab - nur.repos.rycee.firefox-addons.aw-watcher-web # activity watcher - nur.repos.rycee.firefox-addons.stylus # styling - nur.repos.rycee.firefox-addons.keepassxc-browser # password manager integration - ]; + extensions = with pkgs; [ + nur.repos.rycee.firefox-addons.ublock-origin + nur.repos.rycee.firefox-addons.clearurls # clear tracking urls + nur.repos.rycee.firefox-addons.stylus # cool styling for websites + nur.repos.rycee.firefox-addons.localcdn # locally stores frameworks such as vue, tailwind ect.. + nur.repos.rycee.firefox-addons.libredirect # redirects to libre version of spyware sites + nur.repos.rycee.firefox-addons.tridactyl # vim like keybinds + nur.repos.rycee.firefox-addons.istilldontcareaboutcookies # dismisses cookie banners + nur.repos.rycee.firefox-addons.noscript # block js + nur.repos.rycee.firefox-addons.tabliss # sexy new tab + nur.repos.rycee.firefox-addons.aw-watcher-web # activity watcher + nur.repos.rycee.firefox-addons.stylus # styling + nur.repos.rycee.firefox-addons.keepassxc-browser # password manager integration + ]; search.force = true; - search.order = [ "Searxng" "DuckDuckGo" ]; + search.order = [ + "Searxng" + "DuckDuckGo" + ]; search.default = "Searxng"; search.engines = { "Nix Packages" = { - urls = [{ - template = "https://search.nixos.org/packages"; - params = [ - { name = "type"; value = "packages"; } - { name = "query"; value = "{searchTerms}"; } - ]; - }]; + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; "Searxng" = { - urls = [{ - template = "https://search.rhscz.eu/"; - params = [ - { name = "q"; value = "{searchTerms}"; } - ]; - }]; + urls = [ + { + template = "https://search.rhscz.eu/"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; }; "Home Manager" = { definedAliases = [ "@hm" ]; - urls = [{ - template = "https://mipmip.github.io/home-manager-option-search/"; - params = [ - { name = "query"; value = "{searchTerms}"; } - ]; - }]; + urls = [ + { + template = "https://home-manager-options.extranix.com/"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + { + name = "release"; + value = "release-24.11"; + } + ]; + } + ]; + }; + "Youtube" = { + definedAliases = [ "@yt" ]; + urls = [ + { + template = "https://www.youtube.com/results"; + params = [ + { + name = "search_query"; + value = "{searchTerms}"; + } + ]; + } + ]; }; "Nix Options" = { definedAliases = [ "@no" ]; - urls = [{ - template = "https://search.nixos.org/options?type=packages"; - params = [ - { name = "query"; value = "{searchTerms}"; } - ]; - }]; + urls = [ + { + template = "https://search.nixos.org/options?type=packages"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; }; "Nix Wiki" = { definedAliases = [ "@nw" ]; - urls = [{ - template = "https://wiki.nixos.org/w/index.php"; - params = [ - { name = "search"; value = "{searchTerms}"; } - ]; - }]; + urls = [ + { + template = "https://wiki.nixos.org/w/index.php"; + params = [ + { + name = "search"; + value = "{searchTerms}"; + } + ]; + } + ]; }; - "crates" = { + "Rust crates" = { definedAliases = [ "@cr" ]; - urls = [{ - template = "https://crates.io/search"; - params = [ - { - name = "q"; - value = "{searchTerms}"; - } - ]; - }]; + urls = [ + { + template = "https://crates.io/search"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; }; }; }; @@ -96,7 +147,6 @@ }; - programs.firejail = { wrappedBinaries = { firefox = { @@ -107,6 +157,4 @@ }; }; -} - - +} diff --git a/nix/configs/i3.nix b/nix/configs/i3.nix index e61159f..dbe8043 100755 --- a/nix/configs/i3.nix +++ b/nix/configs/i3.nix @@ -1,9 +1,14 @@ -{ pkgs, lib, ... }: +{ + pkgs, + lib, + user, + ... +}: let scripts = "~/.config/scripts"; in { - home-manager.users.grape.xsession.windowManager.i3 = { + home-manager.users.${user}.xsession.windowManager.i3 = { enable = true; config = { @@ -55,67 +60,70 @@ in text = "#FAD000"; }; - keybindings = - lib.mkOptionDefault - { + keybindings = lib.mkOptionDefault { - # application keybinds - "mod4+d" = "exec rofi -show drun"; - "mod4+e" = "exec rofi -show calc"; - "mod4+f" = "exec rofi -show emoji"; + # application keybinds + "mod4+d" = "exec rofi -show drun"; + "mod4+e" = "exec rofi -show calc"; + "mod4+f" = "exec rofi -show emoji"; - "mod4+t" = "exec alacritty"; - "mod4+r" = "exec firefox"; - "mod4+m" = "exec feishin"; - "mod4+p" = "exec keepassxc"; - "mod4+g" = "exec alacritty --command btop"; + "mod4+t" = "exec alacritty"; + "mod4+r" = "exec firefox"; + "mod4+m" = "exec feishin"; + "mod4+p" = "exec keepassxc"; + # power off + "mod4+Shift+Delete" = "exec shutdown -h now"; - # power off - "mod4+Shift+Delete" = "exec shutdown -h now"; + # language settings + "mod4+1" = "exec setxkbmap us"; + "mod4+2" = "exec setxkbmap hu"; - # language settings - "mod4+1" = "exec setxkbmap us"; - "mod4+2" = "exec setxkbmap hu"; + # replay + "mod4+s" = "exec ${scripts}/replay_application_name.sh"; + "mod4+w" = "exec ${scripts}/save_replay.sh"; + "mod4+a" = "exec ${scripts}/start_replay.sh"; + "mod4+x" = "exec ${scripts}/stop_replay.sh"; - # replay - "mod4+s" = "exec ${scripts}/replay_application_name.sh"; - "mod4+w" = "exec ${scripts}/save_replay.sh"; - "mod4+a" = "exec ${scripts}/start_replay.sh"; - "mod4+x" = "exec ${scripts}/stop_replay.sh"; + # picom + "mod4+o" = "exec ${scripts}/picom_opacity_toggle.sh"; - # picom - "mod4+o" = "exec ${scripts}/picom_opacity_toggle.sh"; + # screenshot + "Print" = + "exec scrot '%Y-%m-%d_%H-%M-%S.png' -e 'mv $f ~/Pictures/screenshots && xclip -selection clipboard -t image/png -i ~/Pictures/screenshots/$f'"; + "Shift+Print" = + ''exec "NUM=$(echo $RANDOM) maim -s $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png ; cat $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png | xclip -selection clipboard -t image/png"''; - # screenshot - "Print" = "exec scrot '%Y-%m-%d_%H-%M-%S.png' -e 'mv $f ~/Pictures/screenshots && xclip -selection clipboard -t image/png -i ~/Pictures/screenshots/$f'"; - "Shift+Print" = ''exec "NUM=$(echo $RANDOM) maim -s $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png ; cat $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png | xclip -selection clipboard -t image/png"''; + # sticky window + "Mod1+Shift+s" = "sticky toggle"; + # reset for ultrawide incase any game decides to fuck it up + "mod4+u" = "exec xrandr --output DP-0 --mode 3440x1440 --rate 165"; - # sticky window - "Mod1+Shift+s" = "sticky toggle"; - # reset for ultrawide incase any game decides to fuck it up - "mod4+u" = "exec xrandr --output DP-0 --mode 3440x1440 --rate 165"; + # PLAYERCTL for mouse + "shift+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl volume 0.1+"; + "shift+XF86AudioLowerVolume" = "exec --no-startup-id playerctl volume 0.1-"; + "Control+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl position 10+"; + "Control+XF86AudioLowerVolume" = "exec --no-startup-id playerctl position 10-"; + "XF86AudioNext" = "exec --no-startup-id playerctl next"; + "XF86AudioPlay" = "exec --no-startup-id playerctl play-pause"; + "XF86AudioPrev" = "exec --no-startup-id playerctl previous"; + # PLAYERCTL for keyboard + "Mod1+minus" = "exec --no-startup-id playerctl volume 0.1-"; + "Mod1+plus" = "exec --no-startup-id playerctl volume 0.1+"; + "Mod1+bracketleft" = "exec --no-startup-id playerctl position 10-"; + "Mod1+bracketright" = "exec --no-startup-id playerctl position 10+"; + "Mod1+l" = "exec --no-startup-id playerctl next"; + "Mod1+semicolon" = "exec --no-startup-id playerctl play-pause"; + "Mod1+apostrophe" = "exec --no-startup-id playerctl next"; - # Volume adjustment for current player - "shift+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl volume 0.1+"; - "shift+XF86AudioLowerVolume" = "exec --no-startup-id playerctl volume 0.1-"; - # seeking for current player - "Control+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl position 10+"; - "Control+XF86AudioLowerVolume" = "exec --no-startup-id playerctl position 10-"; - # track skipping n stuff - "XF86AudioNext" = "exec --no-startup-id playerctl next"; - "XF86AudioPlay" = "exec --no-startup-id playerctl play-pause"; - "XF86AudioPrev" = "exec --no-startup-id playerctl previous"; + # adjusting system mvolume + "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%"; + "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% "; + "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; + "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; - # adjusting system mvolume - "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%"; - "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% "; - "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; - "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; - - - }; + }; }; # disable stupid and ugly title bars @@ -128,7 +136,3 @@ in ''; }; } - - - - diff --git a/nix/configs/kitty.nix b/nix/configs/kitty.nix index 214ad1a..f77aa53 100644 --- a/nix/configs/kitty.nix +++ b/nix/configs/kitty.nix @@ -1,6 +1,7 @@ -{ pkgs, ... }: { +{ pkgs, user, ... }: +{ - home-manager.users.grape.programs.kitty = { + home-manager.users.${user}.programs.kitty = { enable = true; font.name = "Jetbrains Mono Nerd font"; diff --git a/nix/configs/logseq.nix b/nix/configs/logseq.nix index 7437bcc..be8bc9f 100644 --- a/nix/configs/logseq.nix +++ b/nix/configs/logseq.nix @@ -1,6 +1,7 @@ -{ pkgs, ... }: { +{ pkgs, user, ... }: +{ # - home-manager.users.grape.home.file.".logseq/config/plugins.edn" = { + home-manager.users.${user}.home.file.".logseq/config/plugins.edn" = { enable = true; text = '' { diff --git a/nix/configs/neofetch.nix b/nix/configs/neofetch.nix index 9e25afd..32cd950 100644 --- a/nix/configs/neofetch.nix +++ b/nix/configs/neofetch.nix @@ -1,6 +1,7 @@ -{ pkgs, ... }: { +{ pkgs, user, ... }: +{ - home-manager.users.grape.home.file.".config/neofetch/config.conf" = { + home-manager.users.${user}.home.file.".config/neofetch/config.conf" = { enable = true; source = ../opt/neofetch.conf; }; diff --git a/nix/configs/nvim.nix b/nix/configs/nvim.nix index ed84363..7f20966 100644 --- a/nix/configs/nvim.nix +++ b/nix/configs/nvim.nix @@ -1,4 +1,6 @@ -{ pkgs, ... }: { +{ pkgs, inputs, ... }: { - # TODO install neo2005 + environment.systemPackages = with pkgs; [ + inputs.neo2005.packages.x86_64-linux.default + ]; } diff --git a/nix/configs/ollama.nix b/nix/configs/ollama.nix index 063c0bd..56b81ce 100644 --- a/nix/configs/ollama.nix +++ b/nix/configs/ollama.nix @@ -2,6 +2,6 @@ #environment.systemPackages = with pkgs; [ # ollama #]; - services.ollama.enable = true; + services.ollama.enable = false; services.ollama.acceleration = "cuda"; } diff --git a/nix/configs/picom.nix b/nix/configs/picom.nix index d50dcd6..624dbc2 100755 --- a/nix/configs/picom.nix +++ b/nix/configs/picom.nix @@ -1,10 +1,14 @@ -{ pkgs, ... }: { +{ pkgs, user, ... }: +{ - home-manager.users.grape.services.picom = { + home-manager.users.${user}.services.picom = { enable = true; backend = "glx"; vSync = false; # disable vsync to reduce input delay - extraArgs = [ "-b" "--experimental-backends" ]; # enable deamon mode and experimental backends for blur + extraArgs = [ + "-b" + "--experimental-backends" + ]; # enable deamon mode and experimental backends for blur settings = { @@ -55,4 +59,3 @@ }; }; } - diff --git a/nix/configs/polybar.nix b/nix/configs/polybar.nix index 4539e0a..f2e316e 100644 --- a/nix/configs/polybar.nix +++ b/nix/configs/polybar.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, user, ... }: let script = "~/.config/scripts"; @@ -11,7 +11,7 @@ in ./polybar/top.nix ]; - home-manager.users.grape.services.polybar = { + home-manager.users.${user}.services.polybar = { enable = true; script = "${script}/polybar.sh"; diff --git a/nix/configs/rofi.nix b/nix/configs/rofi.nix index 4512dfb..0e0f63f 100755 --- a/nix/configs/rofi.nix +++ b/nix/configs/rofi.nix @@ -1,6 +1,12 @@ -{ pkgs, lib, ... }: { +{ + pkgs, + lib, + user, + ... +}: +{ - home-manager.users.grape.programs.rofi = { + home-manager.users.${user}.programs.rofi = { enable = true; font = "Jetbrains Mono"; theme = "/home/grape/.config/rofi/theme.rasi"; @@ -10,7 +16,7 @@ ]; }; - home-manager.users.grape.home.file.".config/rofi/theme.rasi" = { + home-manager.users.${user}.home.file.".config/rofi/theme.rasi" = { enable = true; text = '' /******************************************************************************* diff --git a/nix/configs/vscode.nix b/nix/configs/vscode.nix index d2573b9..35ea50b 100644 --- a/nix/configs/vscode.nix +++ b/nix/configs/vscode.nix @@ -1,58 +1,61 @@ -{ pkgs, ... }: +{ pkgs, user, ... }: { - home-manager.users.grape = { + home-manager.users.${user} = { programs.vscode = { enable = true; package = pkgs.vscodium; #package = pkgs.vscode; - extensions = with pkgs.vscode-extensions; [ + extensions = + with pkgs.vscode-extensions; + [ - # language suports - pkgs.unstable.vscode-extensions.rust-lang.rust-analyzer - pkgs.vscode-extensions.jnoortheen.nix-ide - pkgs.vscode-extensions.redhat.java - pkgs.vscode-extensions.zxh404.vscode-proto3 - pkgs.vscode-extensions.redhat.vscode-yaml - pkgs.vscode-extensions.ms-azuretools.vscode-docker - pkgs.vscode-extensions.octref.vetur - pkgs.vscode-extensions.bungcip.better-toml - pkgs.vscode-extensions.mikestead.dotenv + # language suports + pkgs.unstable.vscode-extensions.rust-lang.rust-analyzer + pkgs.vscode-extensions.jnoortheen.nix-ide + pkgs.vscode-extensions.redhat.java + pkgs.vscode-extensions.zxh404.vscode-proto3 + pkgs.vscode-extensions.redhat.vscode-yaml + pkgs.vscode-extensions.ms-azuretools.vscode-docker + pkgs.vscode-extensions.octref.vetur + pkgs.vscode-extensions.bungcip.better-toml + pkgs.vscode-extensions.mikestead.dotenv - # linters - pkgs.vscode-extensions.esbenp.prettier-vscode - pkgs.vscode-extensions.naumovs.color-highlight + # linters + pkgs.vscode-extensions.esbenp.prettier-vscode + pkgs.vscode-extensions.naumovs.color-highlight - # essentials, other - pkgs.vscode-extensions.streetsidesoftware.code-spell-checker - pkgs.vscode-extensions.vscodevim.vim - pkgs.vscode-extensions.oderwat.indent-rainbow - pkgs.vscode-extensions.usernamehw.errorlens - pkgs.vscode-extensions.christian-kohler.path-intellisense - pkgs.vscode-extensions.vscjava.vscode-spring-initializr - pkgs.vscode-extensions.gruntfuggly.todo-tree - pkgs.vscode-extensions.eamodio.gitlens + # essentials, other + pkgs.vscode-extensions.streetsidesoftware.code-spell-checker + pkgs.vscode-extensions.vscodevim.vim + pkgs.vscode-extensions.oderwat.indent-rainbow + pkgs.vscode-extensions.usernamehw.errorlens + pkgs.vscode-extensions.christian-kohler.path-intellisense + pkgs.vscode-extensions.vscjava.vscode-spring-initializr + pkgs.vscode-extensions.gruntfuggly.todo-tree + pkgs.vscode-extensions.eamodio.gitlens - #themes, icons - pkgs.vscode-extensions.vscode-icons-team.vscode-icons - pkgs.vscode-extensions.mechatroner.rainbow-csv + #themes, icons + pkgs.vscode-extensions.vscode-icons-team.vscode-icons + pkgs.vscode-extensions.mechatroner.rainbow-csv - # local ai - pkgs.vscode-extensions.continue.continue - ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ - { - name = "shades-of-purple"; - publisher = "ahmadawais"; - version = "7.3.2"; - sha256 = "10q5w9g7ghn2qvdc7h2b79x1vy8nzpnwz8dbg1h03074ikhvjx4v"; + # local ai + pkgs.vscode-extensions.continue.continue + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "shades-of-purple"; + publisher = "ahmadawais"; + version = "7.3.2"; + sha256 = "10q5w9g7ghn2qvdc7h2b79x1vy8nzpnwz8dbg1h03074ikhvjx4v"; - } - { - name = "aw-watcher-vscode"; - publisher = "activitywatch"; - version = "0.5.0"; - sha256 = "0nvw8pp6xaqs6w2zz3dr0vlrrpd6wcgh6jc5bp5ld92p0f34idrs"; - } - ]; + } + { + name = "aw-watcher-vscode"; + publisher = "activitywatch"; + version = "0.5.0"; + sha256 = "0nvw8pp6xaqs6w2zz3dr0vlrrpd6wcgh6jc5bp5ld92p0f34idrs"; + } + ]; userSettings = { "terminal.integrated.defaultProfile.linux" = "zsh"; "editor.formatOnSave" = true; @@ -71,7 +74,6 @@ "rust-analyzer.experimental.procAttrMacros" = false; "rust-analyzer.cargo.buildScripts.enable" = true; - }; languageSnippets = { @@ -87,34 +89,33 @@ ]; scope = "nix"; }; - "Crane.dev workspace package into container" = - { - body = [ - "$1-container = pkgs.dockerTools.buildLayeredImage" - "{" - " name = \"$1\";" - " tag = \"latest\";" - " contents = with pkgs; [" - " cacert" - " openssl" - " pkg-config" - " libiconv" - " ];" - "" - " config = {" - " WorkingDir = \"/app\";" - " Volumes = {" - " \"/app\" = { };" - " };" - " Entrypoint = [ \"\${$1}/bin/$2\" ];" - " };" - "}; " - ]; - prefix = [ - "nix container" - ]; - scope = "nix"; - }; + "Crane.dev workspace package into container" = { + body = [ + "$1-container = pkgs.dockerTools.buildLayeredImage" + "{" + " name = \"$1\";" + " tag = \"latest\";" + " contents = with pkgs; [" + " cacert" + " openssl" + " pkg-config" + " libiconv" + " ];" + "" + " config = {" + " WorkingDir = \"/app\";" + " Volumes = {" + " \"/app\" = { };" + " };" + " Entrypoint = [ \"\${$1}/bin/$2\" ];" + " };" + "}; " + ]; + prefix = [ + "nix container" + ]; + scope = "nix"; + }; pkginit = { body = [ @@ -132,4 +133,3 @@ }; }; } - diff --git a/nix/dev.nix b/nix/dev.nix index 2226f8f..a600710 100755 --- a/nix/dev.nix +++ b/nix/dev.nix @@ -17,22 +17,11 @@ docker docker-compose - #formatters - nixpkgs-fmt - # nix pkg fetcher nurl #nix-init - - # for 3d - #blender - #dbus - #xdg-utils - #xdg-launch postman - neovim - ]; } diff --git a/nix/flake.lock b/nix/flake.lock index 774c208..e9a357f 100755 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -18,6 +18,7 @@ "devshell": { "inputs": { "nixpkgs": [ + "neo2005", "nixvim", "nixpkgs" ] @@ -68,35 +69,38 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_2": { - "flake": false, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "flake-parts": { + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ + "neo2005", "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -107,7 +111,25 @@ }, "flake-utils": { "inputs": { - "systems": "systems_2" + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" }, "locked": { "lastModified": 1726560853, @@ -125,23 +147,29 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": [ + "neo2005", + "nixvim", + "flake-compat" + ], "gitignore": "gitignore", "nixpkgs": [ + "neo2005", "nixvim", "nixpkgs" ], "nixpkgs-stable": [ + "neo2005", "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1728092656, - "narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=", + "lastModified": 1734279981, + "narHash": "sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "1211305a5b237771e13fcca0c51e60ad47326a9a", + "rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785", "type": "github" }, "original": { @@ -153,6 +181,7 @@ "gitignore": { "inputs": { "nixpkgs": [ + "neo2005", "nixvim", "git-hooks", "nixpkgs" @@ -179,16 +208,16 @@ ] }, "locked": { - "lastModified": 1726989464, - "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "lastModified": 1734366194, + "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } @@ -196,38 +225,89 @@ "home-manager_2": { "inputs": { "nixpkgs": [ + "neo2005", "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1726989464, - "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "lastModified": 1734093295, + "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", "repo": "home-manager", "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "neo2005", + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "neo2005", + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.6", + "repo": "ixx", + "type": "github" + } + }, + "neo2005": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_2", + "nixvim": "nixvim" + }, + "locked": { + "lastModified": 1735080250, + "narHash": "sha256-94TdlH78zk6DxRHqSopImLju41MA7g4bp3bFa4J1tfU=", + "ref": "refs/heads/master", + "rev": "5768956e7375b773abb7e2584f7de1a528fe3a46", + "revCount": 11, + "type": "git", + "url": "https://git.4o1x5.dev/4o1x5/neo2005" + }, + "original": { + "type": "git", + "url": "https://git.4o1x5.dev/4o1x5/neo2005" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ + "neo2005", "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1727999297, - "narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=", + "lastModified": 1733570843, + "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b", + "rev": "a35b08d09efda83625bef267eb24347b446c80b8", "type": "github" }, "original": { @@ -251,13 +331,40 @@ "type": "indirect" } }, - "nixpkgs-unstable": { + "nixpkgs-last": { "locked": { - "lastModified": 1728888510, - "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", + "lastModified": 1734529975, + "narHash": "sha256-ze3IJksru9dN0keqUxY0WNf8xrwfs8Ty/z9v/keyBbg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", + "rev": "72d11d40b9878a67c38f003c240c2d2e1811e72a", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-24.05", + "type": "indirect" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1734424634, + "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", "type": "github" }, "original": { @@ -268,21 +375,53 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1728909085, - "narHash": "sha256-WLxED18lodtQiayIPDE5zwAfkPJSjHJ35UhZ8h3cJUg=", - "owner": "NixOS", + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "c0b1da36f7c34a7146501f684e9ebdf15d2bebf8", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-24.05", + "owner": "nixos", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_3": { + "locked": { + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1734600368, + "narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1727089097, "narHash": "sha256-ZMHMThPsthhUREwDebXw7GX45bJnBCVbfnH1g5iuSPc=", @@ -302,30 +441,52 @@ "inputs": { "devshell": "devshell", "flake-compat": "flake-compat", - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "git-hooks": "git-hooks", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_3", + "nuschtosSearch": "nuschtosSearch", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1728336862, - "narHash": "sha256-0rG55ZD1zvLLJ+WgiYdJBZGm1fkgRUlwpfx7aNUT5m4=", + "lastModified": 1734346666, + "narHash": "sha256-en0654KcOVZj0J3LVUzd/sbNkDSUZTWP2fHlnyfaXnc=", "owner": "nix-community", "repo": "nixvim", - "rev": "b041963c607d766c4b102b8b56244ad38731f549", + "rev": "76e9d89d96502a4ee8e1cd74a5b50077cf204134", "type": "github" }, "original": { "owner": "nix-community", - "ref": "nixos-24.05", "repo": "nixvim", "type": "github" } }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils", + "ixx": "ixx", + "nixpkgs": [ + "neo2005", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733773348, + "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "owner": "NuschtOS", + "repo": "search", + "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "nvidia-patch": { "inputs": { "nixpkgs": [ @@ -334,11 +495,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1728174521, - "narHash": "sha256-cp0gCyB8AifT8lPg+Zl/Y0tLTKe5+0Eu84BwtYQiyX0=", + "lastModified": 1733940028, + "narHash": "sha256-WI4YDWvk3s3gUnt0cyt0USoTpUTEeEYm+EyQCCvrLvQ=", "owner": "icewind1991", "repo": "nvidia-patch-nixos", - "rev": "0c0184603c56c852541e0a2cc00dd65a15e46dda", + "rev": "91dd42b7a201b0e2b6c588faf70ffc09cd7b4a16", "type": "github" }, "original": { @@ -350,27 +511,31 @@ "romodoro": { "inputs": { "crane": "crane", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_3" + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1727639000, - "narHash": "sha256-Puon/etBQTL9Y7UXeCMhgQnWfB3caCmt6GwQYqdMnBY=", - "path": "/home/grape/code/romodoro", - "type": "path" + "lastModified": 1727229402, + "narHash": "sha256-UbSN705KUNlpk6Zh0vd+cA/2sta53z/7E8j0eiK1074=", + "ref": "refs/heads/master", + "rev": "4bd5075d5d4c8cf8b3f521564a649e0eff0ab495", + "revCount": 8, + "type": "git", + "url": "https://git.4o1x5.dev/4o1x5/romodoro" }, "original": { - "path": "/home/grape/code/romodoro", - "type": "path" + "type": "git", + "url": "https://git.4o1x5.dev/4o1x5/romodoro" } }, "root": { "inputs": { "dttyper": "dttyper", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2", + "neo2005": "neo2005", + "nixpkgs": "nixpkgs_4", + "nixpkgs-last": "nixpkgs-last", "nixpkgs-unstable": "nixpkgs-unstable", - "nixvim": "nixvim", "nvidia-patch": "nvidia-patch", "romodoro": "romodoro" } @@ -405,19 +570,35 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ + "neo2005", "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1727984844, - "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=", + "lastModified": 1733761991, + "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64", + "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085", "type": "github" }, "original": { @@ -428,7 +609,7 @@ }, "utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1710146030, diff --git a/nix/flake.nix b/nix/flake.nix index 5ead36a..c3d0b77 100755 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -1,12 +1,13 @@ { - description = "A simple NixOS flake"; + description = "Strix nix flake"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; # default packages + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; # current supported nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; # unstable branch for newer packages + nixpkgs-last.url = "nixpkgs/nixos-24.05"; # one branch before the current one home-manager = { - url = "github:nix-community/home-manager/release-24.05"; + url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -16,11 +17,9 @@ }; dttyper.url = "git+https://git.4o1x5.dev/4o1x5/dttyper"; - romodoro.url = "path:/home/grape/code/romodoro"; - nixvim = { - url = "github:nix-community/nixvim/nixos-24.05"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + romodoro.url = "git+https://git.4o1x5.dev/4o1x5/romodoro"; + neo2005.url = "git+https://git.4o1x5.dev/4o1x5/neo2005"; + }; outputs = @@ -28,22 +27,27 @@ , nixpkgs , home-manager , nixpkgs-unstable + , nixpkgs-last , nvidia-patch , dttyper , romodoro - , nixvim + , neo2005 , ... }@inputs: let system = "x86_64-linux"; overlay-unstable = final: prev: { unstable = nixpkgs-unstable.legacyPackages.${prev.system}; + last = nixpkgs-last.legacyPackages.${prev.system}; }; in { nixosConfigurations.strix = nixpkgs.lib.nixosSystem { inherit system; - specialArgs.inputs = inputs; + specialArgs = { + inputs = inputs; + user = "grape"; + }; modules = [ # adding unstable overlay ({ config, pkgs, ... }: { @@ -55,13 +59,13 @@ ./system/drivers/shitvidia-patch.nix ./configuration.nix - nixvim.nixosModules.nixvim home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } ]; + }; diff --git a/nix/opt/firefox/i2puser.js b/nix/opt/firefox/i2puser.js deleted file mode 100644 index f5c25ba..0000000 --- a/nix/opt/firefox/i2puser.js +++ /dev/null @@ -1,332 +0,0 @@ -user_pref("accessibility.force_disabled", 1); -user_pref("app.normandy.first_run", false); -user_pref("app.normandy.api_url", ""); -user_pref("app.normandy.enabled", false); -user_pref("app.normandy.optoutstudies.enabled", false); -user_pref("app.shield.optoutstudies.enabled", false); -user_pref("app.update.auto", false); -user_pref("app.update.BITS.enabled", false); -user_pref("app.update.channel", "i2pdbrowser"); -user_pref("app.update.disable_button.showUpdateHistory", true); -user_pref("app.update.enabled", false); -user_pref("app.update.interval", 0); -user_pref("app.update.service.enabled", false); -user_pref("app.update.url", ""); -user_pref("beacon.enabled", false); -pref("breakpad.reportURL", ""); -user_pref("browser.aboutHomeSnippets.updateUrl", ""); -user_pref("browser.aboutwelcome.enabled", false); -user_pref("browser.cache.disk.capacity", 131072); -user_pref("browser.cache.offline.enable", false); -user_pref("browser.casting.enabled", false); -user_pref("browser.contentblocking.database.enabled", false); -user_pref("browser.contentblocking.report.lockwise.enabled", false); -user_pref("browser.contentblocking.report.monitor.enabled", false); -user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); -user_pref("browser.discovery.enabled", false); -pref("browser.download.manager.retention", 0); -user_pref("browser.download.useDownloadDir", false); -user_pref("browser.feeds.showFirstRunUI", false); -user_pref("browser.fixup.alternate.enabled", false); -user_pref("browser.fixup.fallback-to-https", false); -user_pref("browser.formfill.enable", false); -user_pref("browser.formfill.expire_days", 0); -user_pref("browser.messaging-system.whatsNewPanel.enabled", false); -user_pref("browser.newtabpage.activity-stream.feeds.asrouterfeed", false); -user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); -user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); -user_pref("browser.newtabpage.activity-stream.default.sites", "http://i2pd.i2p/,http://333.i2p/,http://inr.i2p/,http://102chan.i2p/,http://flibusta.i2p/,http://fsoc.i2p/,http://lifebox.i2p/,http://onelon.i2p/,http://wiki.ilita.i2p/"); -user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); -user_pref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", false); -user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false); -user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); -user_pref("browser.newtabpage.activity-stream.feeds.snippets", false); -user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); -user_pref("browser.newtabpage.activity-stream.showSearch", true); -user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); -user_pref("browser.newtabpage.activity-stream.showSponsored", false); -user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); -user_pref("browser.newtabpage.activity-stream.telemetry", false); -pref("browser.newtabpage.activity-stream.topSitesRows", 2); -pref("browser.newtabpage.enhanced", false); -pref("browser.newtabpage.introShown", true); -user_pref("browser.onboarding.tour.onboarding-tour-addons.completed", true); -user_pref("browser.onboarding.tour.onboarding-tour-customize.completed", true); -user_pref("browser.onboarding.tour.onboarding-tour-default-browser.completed", true); -user_pref("browser.onboarding.tour.onboarding-tour-performance.completed", true); -user_pref("browser.onboarding.tour.onboarding-tour-private-browsing.completed", true); -user_pref("browser.onboarding.tour.onboarding-tour-screenshots.completed", true); -user_pref("browser.pagethumbnails.capturing_disabled", true); -user_pref("browser.ping-centre.telemetry", false); -user_pref("browser.places.smartBookmarksVersion", -1); -pref("browser.places.speculativeConnect.enabled", false); -pref("browser.reader.detectedFirstArticle", false); -pref("browser.region.network.url", ""); -pref("browser.region.update.enabled", false); -pref("browser.rights.3.shown", true); -user_pref("browser.safebrowsing.appRepURL", ""); -user_pref("browser.safebrowsing.blockedURIs.enabled", false); -user_pref("browser.safebrowsing.downloads.enabled", false); -user_pref("browser.safebrowsing.downloads.remote.enabled", false); -user_pref("browser.safebrowsing.gethashURL", ""); -user_pref("browser.safebrowsing.keyURL", "localhost"); -user_pref("browser.safebrowsing.malware.enabled", false); -user_pref("browser.safebrowsing.malware.reportURL", ""); -user_pref("browser.safebrowsing.phishing.enabled", false); -user_pref("browser.safebrowsing.provider.google.appRepURL", ""); -user_pref("browser.safebrowsing.provider.google.gethashURL", ""); -user_pref("browser.safebrowsing.provider.google.lists", ""); -user_pref("browser.safebrowsing.provider.google.reportURL", ""); -user_pref("browser.safebrowsing.provider.google.updateURL", ""); -user_pref("browser.safebrowsing.provider.mozilla.gethashURL", ""); -user_pref("browser.safebrowsing.provider.mozilla.lists", ""); -user_pref("browser.safebrowsing.provider.mozilla.updateURL", ""); -user_pref("browser.safebrowsing.reportErrorURL", ""); -user_pref("browser.safebrowsing.reportGenericURL", ""); -user_pref("browser.safebrowsing.reportMalwareErrorURL", ""); -user_pref("browser.safebrowsing.reportMalwareURL", ""); -user_pref("browser.safebrowsing.reportPhishURL", ""); -user_pref("browser.safebrowsing.reportURL", ""); -user_pref("browser.safebrowsing.updateURL", ""); -user_pref("browser.safebrowsing.warning.infoURL", ""); -user_pref("browser.search.countryCode", "US"); -user_pref("browser.search.defaultenginename", "YaCy 'legwork'"); -user_pref("browser.search.defaultenginename.US", "YaCy 'legwork'"); -user_pref("browser.search.geoSpecificDefaults", false); -user_pref("browser.search.geoSpecificDefaults.url", ""); -user_pref("browser.search.geoip.url", ""); -user_pref("browser.search.official", false); -user_pref("browser.search.order.1", "YaCy 'legwork'"); -user_pref("browser.search.order.2", ""); -user_pref("browser.search.order.3", ""); -user_pref("browser.search.order.US.1", "YaCy 'legwork'"); -user_pref("browser.search.order.US.2", ""); -user_pref("browser.search.order.US.3", ""); -user_pref("browser.search.redirectWindowsSearch", false); -user_pref("browser.search.region", "US"); -user_pref("browser.search.searchEnginesURL", ""); -user_pref("browser.search.suggest.enabled", false); -user_pref("browser.search.update", false); -user_pref("browser.send_pings", false); -pref("browser.send_pings.require_same_host", true); -user_pref("browser.shell.checkDefaultBrowser", false); -pref("browser.startup.homepage", "http://i2pd.i2p/"); -user_pref("browser.startup.homepage_override.mstone", "ignore"); -user_pref("browser.tabs.closeWindowWithLastTab", false); -user_pref("browser.tabs.crashReporting.sendReport", false); -user_pref("browser.translation.engine", ""); -user_pref("browser.uitour.enabled", false); -user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0); -user_pref("browser.urlbar.formatting.enabled", false); -user_pref("browser.urlbar.maxRichResults", 12); -user_pref("browser.urlbar.speculativeConnect.enabled", false); -user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); -user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false); -user_pref("browser.urlbar.suggest.searches", false); -user_pref("browser.urlbar.trimURLs", false); -user_pref("browser.usedOnWindows10", false); -user_pref("browser.usedOnWindows10.introURL", ""); -user_pref("camera.control.face_detection.enabled", false); -pref("canvas.capturestream.enabled", false); -user_pref("captivedetect.canonicalURL", ""); -pref("clipboard.autocopy", false); -user_pref("datareporting.healthreport.about.reportUrl", ""); -user_pref("datareporting.healthreport.about.reportUrlUnified", ""); -user_pref("datareporting.healthreport.documentServerURI", ""); -user_pref("datareporting.healthreport.pendingDeleteRemoteData", true); -user_pref("datareporting.healthreport.service.enabled", false); -user_pref("datareporting.healthreport.service.firstRun", false); -user_pref("datareporting.healthreport.uploadEnabled", false); -pref("datareporting.policy.dataSubmissionEnabled", false); -pref("datareporting.policy.firstRunTime", "0"); -pref("datareporting.sessions.current.clean", true); -pref("device.sensors.enabled", false); -pref("devtools.chrome.enabled", false); -pref("devtools.debugger.force-local", true); -pref("devtools.debugger.remote-enabled", false); -pref("devtools.webide.autoinstallADBHelper", false); -pref("devtools.webide.autoinstallFxdtAdapters", false); -pref("devtools.webide.enabled", false); -user_pref("devtools.whatsnew.enabled", false); -user_pref("devtools.whatsnew.feature-enabled", false); -pref("dom.allow_cut_copy", false); -pref("dom.archivereader.enabled", false); -pref("dom.battery.enabled", false); -pref("dom.enable_performance", false); -pref("dom.enable_user_timing", false); -pref("dom.event.clipboardevents.enabled", false); -pref("dom.flyweb.enabled", false); -pref("dom.gamepad.enabled", false); -pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false); -pref("dom.ipc.plugins.reportCrashURL", false); -pref("dom.maxHardwareConcurrency", 2); -pref("dom.mozTCPSocket.enabled", false); -pref("dom.netinfo.enabled", false); -pref("dom.network.enabled", false); -user_pref("dom.push.enabled", false); -user_pref("dom.security.https_first", false); -user_pref("dom.security.https_first_pbm", false); -pref("dom.telephony.enabled", false); -pref("dom.vibrator.enabled", false); -pref("dom.vr.enabled", false); -pref("dom.webaudio.enabled", false); -pref("dom.webnotifications.enabled", false); -pref("dom.workers.enabled", false); -pref("experiments.enabled", false); -pref("experiments.manifest.uri", ""); -pref("experiments.supported", false); -pref("extensions.abuseReport.enabled", false); -pref("extensions.autoDisableScopes", 0); -pref("extensions.blocklist.enabled", false); -pref("extensions.blocklist.url", ""); -user_pref("extensions.getAddons.cache.enabled", false); -user_pref("extensions.getAddons.showPane", false); -user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); -pref("extensions.lazarus.showDonateNotification", false); -user_pref("extensions.pocket.enabled", false); -user_pref("extensions.screenshots.upload-disabled", true); -pref("extensions.shownSelectionUI", true); -user_pref("extensions.systemAddon.update.enabled", false); -user_pref("extensions.systemAddon.update.url", ""); -pref("extensions.ui.lastCategory", "addons://list/extension"); -pref("extensions.update.autoUpdateDefault", false); -user_pref("extensions.update.enabled", false); -pref("full-screen-api.approval-required", false); -pref("full-screen-api.warning.timeout", 0); -pref("general.buildID.override", "20100101"); -user_pref("general.platform.override", "Win32"); -user_pref("general.useragent.locale", "en-US"); -user_pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/78.0"); -pref("general.warnOnAboutConfig", false); -user_pref("geo.enabled", false); -user_pref("geo.wifi.logging.enabled", false); -user_pref("geo.wifi.uri", ""); -user_pref("identity.fxaccounts.commands.enabled", false); -user_pref("identity.fxaccounts.enabled", false); -user_pref("intl.locale.matchOS", true); -pref("javascript.use_us_english_locale", true); -pref("keyword.enabled", false); -pref("lightweightThemes.update.enabled", false); -pref("loop.logDomains", false); -user_pref("marionette.enabled", false); -// Allow .i2p domain -user_pref("browser.fixup.domainsuffixwhitelist.i2p", true); -// disable https only -user_pref("dom.security.https_only_mode", false); - - -user_pref("media.eme.enabled", false); -user_pref("media.getusermedia.audiocapture.enabled", false); -user_pref("media.getusermedia.screensharing.enabled", false); -pref("media.gmp-eme-adobe.enabled", false); -user_pref("media.gmp-gmpopenh264.enabled", false); -pref("media.gmp-gmpopenh264.provider.enabled", false); -pref("media.gmp-manager.cert.checkAttributes", false); -pref("media.gmp-manager.url", ""); -user_pref("media.navigator.enabled", false); -user_pref("media.navigator.video.enabled", false); -user_pref("media.peerconnection.enabled", false); -user_pref("media.peerconnection.ice.default_address_only", true); -user_pref("media.peerconnection.ice.no_host", true); -user_pref("media.peerconnection.identity.timeout", 1); -user_pref("media.peerconnection.turn.disable", true); -user_pref("media.peerconnection.use_document_iceservers", false); -user_pref("media.video_stats.enabled", false); -user_pref("media.webspeech.recognition.enable", false); -user_pref("media.webspeech.synth.enabled", false); -user_pref("messaging-system.rsexperimentloader.enabled", false); -user_pref("network.IDN.whitelist.i2p", true); -user_pref("network.IDN_show_punycode", true); -user_pref("network.allow-experiments", false); -user_pref("network.captive-portal-service.enabled", false); -user_pref("network.connectivity-service.enabled", false); -pref("network.cookie.prefsMigrated", true); -user_pref("network.dns.disableIPv6", true); -user_pref("network.dns.disablePrefetchFromHTTPS", true); -user_pref("network.dns.disablePrefetch", true); -user_pref("network.gio.supported-protocols", ""); -user_pref("network.http.speculative-parallel-limit", 0); -user_pref("network.jar.open-unsafe-types", false); -pref("network.manage-offline-status", false); -user_pref("network.negotiate-auth.allow-insecure-ntlm-v1", false); -user_pref("network.notify.changed", false); -pref("network.predictor.enabled", false); -pref("network.predictor.enable-prefetch", false); -user_pref("network.prefetch-next", false); -pref("network.protocol-handler.expose-all", true); -user_pref("network.protocol-handler.external-default", false); -user_pref("network.protocol-handler.warn-external-default", true); -user_pref("network.proxy.allow_bypass", false); -user_pref("network.proxy.ftp", "32.54.31.99"); -user_pref("network.proxy.ftp_port", 4447); -user_pref("network.proxy.socks", "32.54.31.99"); -user_pref("network.proxy.socks_port", 4447); -user_pref("network.proxy.socks_version", 5); -user_pref("network.proxy.no_proxies_on", "localhost, 127.0.0.1"); -user_pref("network.proxy.share_proxy_settings", true); -user_pref("network.proxy.socks_remote_dns", true); -user_pref("network.proxy.ssl", ""); -user_pref("network.proxy.ssl_port", 0); -user_pref("network.proxy.type", 1); -pref("network.http.speculative-parallel-limit", 0); -user_pref("network.trr.mode", 5); -user_pref("pdfjs.disabled", true); -user_pref("pdfjs.enableWebGL", false); -user_pref("permissions.default.camera", 2); -user_pref("permissions.default.desktop-notification", 2); -user_pref("permissions.default.geo", 2); -user_pref("permissions.default.microphone", 2); -user_pref("plugin.default_plugin_disabled", true); -user_pref("plugin.state.java", 0); -user_pref("plugin.state.libgnome-shell-browser-plugin", 0); -user_pref("plugins.click_to_play", true); -user_pref("plugins.load_appdir_plugins", false); -user_pref("plugins.update.notifyUser", false); -user_pref("plugins.update.url", ""); -pref("privacy.cpd.offlineApps", true); -pref("privacy.firstparty.isolate", true); -user_pref("privacy.resistFingerprinting", true); -pref("privacy.sanitize.timeSpan", 0); -user_pref("privacy.spoof_english", 2); -user_pref("privacy.trackingprotection.enabled", true); -//user_pref("privacy.userContext.enabled", true); -user_pref("reader.parse-on-load.enabled", false); -user_pref("reader.parse-on-load.force-enabled", false); -user_pref("security.insecure_field_warning.contextual.enabled", false); -user_pref("security.insecure_password.ui.enabled", false); -user_pref("security.ssl.errorReporting.enabled", false); -user_pref("security.OCSP.enabled", 0); -user_pref("services.blocklist.update_enabled", false); -pref("services.settings.server", ""); -user_pref("services.sync.enabled", false); -pref("services.sync.prefs.sync.browser.download.manager.scanWhenDone", false); -pref("services.sync.prefs.sync.browser.safebrowsing.enabled", false); -pref("services.sync.prefs.sync.browser.search.update", false); -pref("services.sync.prefs.sync.extensions.update.enabled", false); -pref("signon.autofillForms", false); -user_pref("signon.management.page.breach-alerts.enabled", false); -user_pref("signon.management.page.vulnerable-passwords.enabled", false); -pref("signon.rememberSignons", false); -//user_pref("startup.homepage_welcome_url", "http://i2pd.i2p/"); -pref("startup.homepage_welcome_url.additional", "about:blank"); -pref("toolkit.coverage.endpoint.base", ""); -pref("toolkit.coverage.opt-out", true); -user_pref("toolkit.telemetry.archive.enabled", false); -user_pref("toolkit.telemetry.bhrPing.enabled", false); -pref("toolkit.telemetry.coverage.opt-out", true); -user_pref("toolkit.telemetry.enabled", false); -user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); -user_pref("toolkit.telemetry.newProfilePing.enabled", false); -user_pref("toolkit.telemetry.optoutSample", false); -user_pref("toolkit.telemetry.reportingpolicy.firstRun", false); -user_pref("toolkit.telemetry.server", ""); -user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); -user_pref("toolkit.telemetry.unified", false); -user_pref("toolkit.telemetry.unifiedIsOptIn", true); -user_pref("toolkit.telemetry.updatePing.enabled", true); -user_pref("toolkit.winRegisterApplicationRestart", false); -user_pref("webgl.disable-extensions", true); -user_pref("webgl.disable-fail-if-major-performance-caveat", true); -user_pref("webgl.disabled", true); -user_pref("webgl.enable-debug-renderer-info", false); -user_pref("webgl.min_capability_mode", true); \ No newline at end of file diff --git a/nix/system/drivers/shitvidia-patch.nix b/nix/system/drivers/shitvidia-patch.nix index 3dd5e0e..5d20520 100755 --- a/nix/system/drivers/shitvidia-patch.nix +++ b/nix/system/drivers/shitvidia-patch.nix @@ -1,41 +1,43 @@ -{ pkgs -, config -, ... +{ + pkgs, + config, + ... }: let # nvidia package to patch - package = config.boot.kernelPackages.nvidiaPackages.stable; + package = config.boot.kernelPackages.nvidiaPackages.production; in + { - hardware.opengl = { + hardware.graphics = { enable = true; - driSupport = true; - driSupport32Bit = true; + enable32Bit = true; }; - hardware.nvidia = { }; - # TODO fix hybrid optimus shit mode... add "intel" for inner display to work - services.xserver.videoDrivers = [ "nvidia" ]; + services.xserver.videoDrivers = [ + #"modesetting" + "nvidia" + ]; + #boot.initrd.kernelModules = [ "nvidia" ]; + #boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; nixpkgs.config.cudaSupport = true; hardware.nvidia = { modesetting.enable = true; - prime = - { - sync.enable = false; - nvidiaBusId = "PCI:1:0:0"; - intelBusId = "PCI:0:2:0"; - }; + prime = { + sync.enable = false; + nvidiaBusId = "PCI:1:0:0"; + intelBusId = "PCI:0:2:0"; + }; powerManagement.enable = false; powerManagement.finegrained = false; open = false; nvidiaSettings = true; package = pkgs.nvidia-patch.patch-nvenc (pkgs.nvidia-patch.patch-fbc package); + #inherit package; }; } - - diff --git a/nix/system/security.nix b/nix/system/security.nix index 50ab626..aab0cce 100755 --- a/nix/system/security.nix +++ b/nix/system/security.nix @@ -1,4 +1,4 @@ -{ pkgs, config, systemd, ... }: +{ pkgs, config, systemd,user ... }: { # enabling firejail for sandboxing @@ -10,7 +10,7 @@ security.doas.enable = true; security.sudo.enable = false; security.doas.extraRules = [{ - users = [ "grape" ]; + users = [ ${user} ]; keepEnv = true; persist = true; }]; diff --git a/nix/system/shell.nix b/nix/system/shell.nix index b6f2ba6..ae66f87 100755 --- a/nix/system/shell.nix +++ b/nix/system/shell.nix @@ -1,16 +1,20 @@ -{ pkgs, ... }: { +{ pkgs, user, ... }: +{ - users.users.grape.shell = pkgs.zsh; + users.users.${user}.shell = pkgs.zsh; programs.zsh.enable = true; - home-manager.users.grape = { + programs.tmux = { + enable = true; + }; + + home-manager.users.${user} = { programs.zsh = { enable = true; - # TODO fix keymapping, so shortcuts like CTRL + A work... - # TODO create directory if non existent + # TODO create directory if non existent history.path = "$HOME/zsh/history"; - shellAliases = { + shellAliases = { update = "doas nixos-rebuild switch --impure"; # docker @@ -20,10 +24,19 @@ dv = "docker volume"; code = "codium"; + # tmux + # https://github.com/gabysbrain/machine_config/blob/master/config/tmux.nix + ta = "tmux attach -t"; + tad = "tmux attach -d -t"; + ts = "tmux new-session -s"; + tl = "tmux list-sessions"; + tkss = "tmux kill-session -t"; + tt = "tmux new-session -t"; #nix garbage = "nix-collect-garbage -d"; - dev = "nix develop --command zsh"; + #dev = "nix develop --command zsh"; + dev = ''nix develop "git+file://$(pwd)?submodules=1" --command zsh''; # ssh pink = "ssh root@32.54.31.99"; @@ -36,24 +49,16 @@ deploy-lime = "nixos-rebuild switch --flake .#lime --target-host root@32.54.31.241 --show-trace"; deploy-pink = "nixos-rebuild switch --flake .#pink --target-host root@32.54.31.99 --show-trace"; - # other - sget = "yt-dlp -x --audio-format flac --embed-metadata --add-metadata "; - - # productivity - # time tracking - timewastedon = "timew summary :year"; }; initExtra = '' PROMPT="[%M] %~ " - ''; sessionVariables = { EDITOR = "nvim"; }; - antidote = { enable = true; diff --git a/nix/system/sound.nix b/nix/system/sound.nix index ca5972a..d81d612 100755 --- a/nix/system/sound.nix +++ b/nix/system/sound.nix @@ -5,13 +5,12 @@ pavucontrol ]; - sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; - alsa.support32Bit = false; + #alsa.support32Bit = false; pulse.enable = true; }; } diff --git a/nvim.png b/nvim.png new file mode 100644 index 0000000..96a6bfe Binary files /dev/null and b/nvim.png differ diff --git a/readme.md b/readme.md index be721ef..359a258 100644 --- a/readme.md +++ b/readme.md @@ -1,9 +1,7 @@ # My nixos rice +and a *bit* of docs ![](./rice.png) - -This setup has a lot of impurities, for one firefox with absolute paths and for another, all my home-manager definitions are for user `grape`. I could go around changing it but im lazy - ## Element ![Element](./element.png) @@ -15,12 +13,18 @@ This setup has a lot of impurities, for one firefox with absolute paths and for ## Alacritty ![alacritty](./alacritty.png) +## [Neovim](https://git.4o1x5.dev/4o1x5/neo2005) + +![neovim](./nvim.png) # Keyboard shortcuts +![](./keyboard.png) + | Modifier | name | | ----------- | ---- | | windows key | mod4 | +| alt | mod1 | # shadow replay @@ -31,15 +35,6 @@ This setup has a lot of impurities, for one firefox with absolute paths and for | mod4 + x | stops replay software | x as in kill | | mod4 + s | focused window replay | s as in selected window | -# timewarrior - -| key-stroke | command | -| ---------- | --------------- | -| mod4 + h | start tracking | -| mod4 + j | stop tracking | -| mod4 + k | cancel tracking | -| mod4 + l | resume tracking | - # apps | key-stroke | command | @@ -63,8 +58,20 @@ This setup has a lot of impurities, for one firefox with absolute paths and for | mod4 + 1 | setxkbmap us | | mod4 + 2 | setxkbmap hu | +# music + +| key-stroke | command | +| ---------- | ------------ | +| mod1 + - | player vol down| +| mod1 + = | player vol up| +| mod1 + [ | player seek forward | +| mod1 + ] | player seek backwards | +| mod1 + l | player backwards | +| mod1 + ; | player play-pause | +| mod1 + ] | player next | + # system | key-stroke | command | | --------------------- | ------------ | -| mod4 + shift + delete | shutdown now | +| mod4 + shift + delete | shutdown now (halt) |