diff --git a/conf.d/atuin.toml b/conf.d/atuin.toml index 80ae0f7..edac123 100644 --- a/conf.d/atuin.toml +++ b/conf.d/atuin.toml @@ -1,232 +1,14 @@ -## where to store your database, default is your system data directory -## linux/mac: ~/.local/share/atuin/history.db -## windows: %USERPROFILE%/.local/share/atuin/history.db -# db_path = "~/.history.db" -## where to store your encryption key, default is your system data directory -## linux/mac: ~/.local/share/atuin/key -## windows: %USERPROFILE%/.local/share/atuin/key -# key_path = "~/.key" - -## where to store your auth session token, default is your system data directory -## linux/mac: ~/.local/share/atuin/session -## windows: %USERPROFILE%/.local/share/atuin/session -# session_path = "~/.session" - -## date format used, either "us" or "uk" -# dialect = "us" - -## default timezone to use when displaying time -## either "l", "local" to use the system's current local timezone, or an offset -## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]" -## for example: "+9", "-05", "+03:30", "-01:23:45", etc. -# timezone = "local" - -## enable or disable automatic sync -# auto_sync = true - -## enable or disable automatic update checks -# update_check = true - -## address of the sync server -# sync_address = "https://api.atuin.sh" - -## how often to sync history. note that this is only triggered when a command -## is ran, so sync intervals may well be longer -## set it to 0 to sync after every command -# sync_frequency = "10m" - -## which search mode to use -## possible values: prefix, fulltext, fuzzy, skim -# search_mode = "fuzzy" - -## which filter mode to use -## possible values: global, host, session, directory -# filter_mode = "global" - -## With workspace filtering enabled, Atuin will filter for commands executed -## in any directory within a git repository tree (default: false) -# workspaces = false - -## which filter mode to use when atuin is invoked from a shell up-key binding -## the accepted values are identical to those of "filter_mode" -## leave unspecified to use same mode set in "filter_mode" -# filter_mode_shell_up_key_binding = "global" - -## which search mode to use when atuin is invoked from a shell up-key binding -## the accepted values are identical to those of "search_mode" -## leave unspecified to use same mode set in "search_mode" -# search_mode_shell_up_key_binding = "fuzzy" - -## which style to use -## possible values: auto, full, compact -# style = "auto" - -## the maximum number of lines the interface should take up -## set it to 0 to always go full screen -# inline_height = 0 - -## Invert the UI - put the search bar at the top , Default to `false` -# invert = false - -## enable or disable showing a preview of the selected command -## useful when the command is longer than the terminal width and is cut off -# show_preview = true - -## what to do when the escape key is pressed when searching -## possible values: return-original, return-query -# exit_mode = "return-original" - -## possible values: emacs, subl -# word_jump_mode = "emacs" - -## characters that count as a part of a word -# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" - -## number of context lines to show when scrolling by pages -# scroll_context_lines = 1 - -## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts -## alt-0 .. alt-9 -# ctrl_n_shortcuts = false - -## default history list format - can also be specified with the --format arg -# history_format = "{time}\t{command}\t{duration}" - -## prevent commands matching any of these regexes from being written to history. -## Note that these regular expressions are unanchored, i.e. if they don't start -## with ^ or end with $, they'll match anywhere in the command. -## For details on the supported regular expression syntax, see -## https://docs.rs/regex/latest/regex/#syntax -# history_filter = [ -# "^secret-cmd", -# "^innocuous-cmd .*--secret=.+", -# ] - -## prevent commands run with cwd matching any of these regexes from being written -## to history. Note that these regular expressions are unanchored, i.e. if they don't -## start with ^ or end with $, they'll match anywhere in CWD. -## For details on the supported regular expression syntax, see -## https://docs.rs/regex/latest/regex/#syntax -# cwd_filter = [ -# "^/very/secret/area", -# ] - -## Configure the maximum height of the preview to show. -## Useful when you have long scripts in your history that you want to distinguish -## by more than the first few lines. -# max_preview_height = 4 - -## Configure whether or not to show the help row, which includes the current Atuin -## version (and whether an update is available), a keymap hint, and the total -## amount of commands in your history. -# show_help = true - -## Configure whether or not to show tabs for search and inspect -# show_tabs = true - -## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include -## 1. AWS key id -## 2. Github pat (old and new) -## 3. Slack oauth tokens (bot, user) -## 4. Slack webhooks -## 5. Stripe live/test keys -# secrets_filter = true - -## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit. -# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. +search_mode = "fuzzy" enter_accept = false - -## Defaults to "emacs". This specifies the keymap on the startup of `atuin -## search`. If this is set to "auto", the startup keymap mode in the Atuin -## search is automatically selected based on the shell's keymap where the -## keybinding is defined. If this is set to "emacs", "vim-insert", or -## "vim-normal", the startup keymap mode in the Atuin search is forced to be -## the specified one. keymap_mode = "vim-insert" -## Cursor style in each keymap mode. If specified, the cursor style is changed -## in entering the cursor shape. Available values are "default" and -## "{blink,steady}-{block,underline,bar}". -# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" } - -# network_connect_timeout = 5 -# network_timeout = 5 - -## Timeout (in seconds) for acquiring a local database connection (sqlite) -# local_timeout = 5 - -## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc. -## Alternatively, set env NO_MOTION=true -# prefers_reduced_motion = false - -[stats] -## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl -# common_subcommands = [ -# "apt", -# "cargo", -# "composer", -# "dnf", -# "docker", -# "git", -# "go", -# "ip", -# "kubectl", -# "nix", -# "nmcli", -# "npm", -# "pecl", -# "pnpm", -# "podman", -# "port", -# "systemctl", -# "tmux", -# "yarn", -# ] - -## Set commands that should be totally stripped and ignored from stats -# common_prefix = ["sudo"] - -## Set commands that will be completely ignored from stats -# ignored_commands = [ -# "cd", -# "ls", -# "vi" -# ] - -[keys] -# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry. -# scroll_exits = false - [sync] -# Enable sync v2 by default -# This ensures that sync v2 is enabled for new installs only -# In a later release it will become the default across the board records = true -[preview] -## which preview strategy to use to calculate the preview height (respects max_preview_height). -## possible values: auto, static -## auto: length of the selected command. -## static: length of the longest command stored in the history. -# strategy = "auto" - [daemon] -## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon` -# enabled = false +enabled = true +autostart = true -## How often the daemon should sync in seconds -# sync_frequency = 300 - -## The path to the unix socket used by the daemon (on unix systems) -## linux/mac: ~/.local/share/atuin/atuin.sock -## windows: Not Supported -# socket_path = "~/.local/share/atuin/atuin.sock" - -## Use systemd socket activation rather than opening the given path (the path must still be correct for the client) -## linux: false -## mac/windows: Not Supported -# systemd_socket = false - -## The port that should be used for TCP on non unix systems -# tcp_port = 8889 +[ai] +enabled = true \ No newline at end of file diff --git a/conf.d/fish/conf.d/atuin.fish b/conf.d/fish/conf.d/atuin.fish new file mode 100644 index 0000000..80075c2 --- /dev/null +++ b/conf.d/fish/conf.d/atuin.fish @@ -0,0 +1,3 @@ +if status is-interactive + atuin init fish | source +end diff --git a/flake.lock b/flake.lock index 786d640..7598fe6 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,83 @@ { "nodes": { + "atuin": { + "inputs": { + "fenix": "fenix", + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1773709057, + "narHash": "sha256-hLt6CDHEPV8BVpOADVn4bLNcBz89eC2jKtIexHG0yAY=", + "owner": "atuinsh", + "repo": "atuin", + "rev": "e737ba5b9a149eaec706418bc560e8ba7ea8c81b", + "type": "github" + }, + "original": { + "owner": "atuinsh", + "ref": "v18.13.3", + "repo": "atuin", + "type": "github" + } + }, + "fenix": { + "inputs": { + "nixpkgs": [ + "atuin", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1758609765, + "narHash": "sha256-VIYu7R9Yc/CItjmzLSm21Lr9DgpEsKL5H+JUu8KDTn4=", + "owner": "nix-community", + "repo": "fenix", + "rev": "05545a7f3cd5cd5628b195520758e56e6734b90a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "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" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -7,11 +85,11 @@ ] }, "locked": { - "lastModified": 1770260404, - "narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", + "lastModified": 1773963144, + "narHash": "sha256-WzBOBfSay3GYilUfKaUa1Mbf8/jtuAiJIedx7fWuIX4=", "owner": "nix-community", "repo": "home-manager", - "rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", + "rev": "a91b3ea73a765614d90360580b689c48102d1d33", "type": "github" }, "original": { @@ -39,11 +117,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1770770419, - "narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=", + "lastModified": 1758446476, + "narHash": "sha256-5rdAi7CTvM/kSs6fHe1bREIva5W3TbImsto+dxG4mBo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a", + "rev": "a1f79a1770d05af18111fbbe2a3ab2c42c0f6cd0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1773964973, + "narHash": "sha256-NV/J+tTER0P5iJhUDL/8HO5MDjDceLQPRUYgdmy5wXw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "812b3986fd1568f7a858f97fcf425ad996ba7d25", "type": "github" }, "original": { @@ -55,13 +149,46 @@ }, "root": { "inputs": { + "atuin": "atuin", "home-manager": "home-manager", "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs", - "systems": "systems" + "nixpkgs": "nixpkgs_2", + "systems": "systems_2" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1758556272, + "narHash": "sha256-9amq6LAd0CFF3dLrJUItPiG64MQOG4QPrvjbjpa6NFc=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "d05355db16dc526bb16bd84769ea840668d7015e", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" } }, "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", diff --git a/flake.nix b/flake.nix index c929e03..16a395b 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,7 @@ url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; + atuin.url = "github:atuinsh/atuin/v18.13.3"; }; outputs = { self, nixpkgs, nix-flatpak, systems, home-manager, ... } @ inputs: let @@ -21,6 +22,9 @@ import nixpkgs { inherit system; config.allowUnfree = true; + overlays = [ + inputs.atuin.overlays.default + ]; } ); @@ -34,6 +38,9 @@ modules = [ nix-flatpak.nixosModules.nix-flatpak ./hosts/limgrave/nixos + ({ ... }: { + nixpkgs.overlays = [ inputs.atuin.overlays.default ]; + }) ]; }; }; @@ -48,4 +55,4 @@ }; }; }; -} \ No newline at end of file +} diff --git a/hosts/limgrave/nixos/flatpaks.nix b/hosts/limgrave/nixos/flatpaks.nix index 5afdc11..f09a8fd 100644 --- a/hosts/limgrave/nixos/flatpaks.nix +++ b/hosts/limgrave/nixos/flatpaks.nix @@ -2,7 +2,6 @@ "com.microsoft.Edge" "dev.vencord.Vesktop" "chat.revolt.RevoltDesktop" - "org.signal.Signal" "io.github.hkdb.Aerion" "io.github.mpobaschnig.Vaults" "com.bitwarden.desktop" diff --git a/hosts/limgrave/nixos/hardware-configuration.nix b/hosts/limgrave/nixos/hardware-configuration.nix index 2050838..4a3a8fb 100644 --- a/hosts/limgrave/nixos/hardware-configuration.nix +++ b/hosts/limgrave/nixos/hardware-configuration.nix @@ -12,6 +12,7 @@ boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; + boot.supportedFilesystems = [ "nfs" ]; fileSystems."/" = { device = "/dev/mapper/luks-0e11cc3f-cf15-42a3-8356-12780ac991f6"; @@ -21,16 +22,21 @@ boot.initrd.luks.devices."luks-0e11cc3f-cf15-42a3-8356-12780ac991f6".device = "/dev/disk/by-uuid/0e11cc3f-cf15-42a3-8356-12780ac991f6"; fileSystems."/mnt/zeruel/nas1" = - { device = "zeruel.fuku:/mnt/pool1/nas1"; + { device = "zeruel.fuku:/mnt/pool1/nas1/"; fsType = "nfs"; - options = [ "x-systemd.automount" "noauto" ]; + options = [ "x-systemd.automount" ]; }; + fileSystems."/mnt/zeruel/vods" = + { device = "zeruel.fuku:/mnt/vods"; + fsType = "nfs"; + options = [ "x-systemd.automount" ]; + }; fileSystems."/mnt/windoze" = { device = "/dev/disk/by-uuid/46B01460B01458AF"; fsType = "ntfs-3g"; - options = [ "rw" "uid=1000"]; + options = [ "rw" "uid=1000" "x-gvfs-show"]; }; fileSystems."/boot" = @@ -42,7 +48,7 @@ fileSystems."/mnt/windoze2" = { device = "/dev/disk/by-uuid/6084BE5384BE2B82"; fsType = "ntfs-3g"; - options = [ "rw" "uid=1000"]; + options = [ "rw" "uid=1000" "x-gvfs-show"]; }; swapDevices = diff --git a/hosts/limgrave/nixos/packages.nix b/hosts/limgrave/nixos/packages.nix index f756872..6cefa96 100644 --- a/hosts/limgrave/nixos/packages.nix +++ b/hosts/limgrave/nixos/packages.nix @@ -52,7 +52,6 @@ k9s kubectl dotter - atuin kubecolor trash-cli gnomeExtensions.appindicator @@ -70,9 +69,14 @@ jq hmcl tmux + atuin tor tor-browser remmina yt-dlp mangohud + difftastic + libheif + ffmpegthumbnailer + signal-desktop ]