diff --git a/agenix/hosts/sail/atuin/environment.age b/agenix/hosts/sail/atuin/environment.age new file mode 100644 index 0000000..f81c797 Binary files /dev/null and b/agenix/hosts/sail/atuin/environment.age differ diff --git a/agenix/hosts/sail/config.nix b/agenix/hosts/sail/config.nix index 6300300..c6298d7 100644 --- a/agenix/hosts/sail/config.nix +++ b/agenix/hosts/sail/config.nix @@ -54,6 +54,12 @@ group = "matrix-synapse"; }; + atuin-environment = { + file = ./atuin/environment.age; + owner = "atuin"; + group = "atuin"; + }; + freshrss-user-password = { file = ./freshrss/userPassword.age; owner = "freshrss"; diff --git a/flake.lock b/flake.lock index 3574ccf..748c7b5 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ ] }, "locked": { - "lastModified": 1677247280, - "narHash": "sha256-sa+8MtoAOSLsWP9vf0qiJUyMovIEYgDzHE8TkoK04Hk=", + "lastModified": 1677453742, + "narHash": "sha256-/DNOThcCGz21Met/aMhm7NGqughtpxQzrlAqTuq+YZQ=", "owner": "ryantm", "repo": "agenix", - "rev": "833f87c8ff574a29aea3e091045cbaed3cf86bc1", + "rev": "4828951d9d05accd244bf8c24706f046b485aceb", "type": "github" }, "original": { @@ -141,11 +141,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1677276957, - "narHash": "sha256-/vhdNhQj2CWgqdfD2KLEZWDleOfen0t2EiaGiyivnJU=", + "lastModified": 1677437727, + "narHash": "sha256-1BoofKqPT08sLCtm2hzABocYrSwkc8GtmeDuvrIXdjc=", "owner": "nix-community", "repo": "home-manager", - "rev": "664945b3e09b4551c4e63e16efebd493cf5eac74", + "rev": "bf76afbb06b77237507b5279d0d555e05b5cc7f7", "type": "github" }, "original": { @@ -164,11 +164,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1677269843, - "narHash": "sha256-2liWrba7/Mx2Vky/SGjJnDm/GXxui4sxMIz0OAQW0jM=", + "lastModified": 1677463842, + "narHash": "sha256-MgUEDPza573qKV59nRqrykLblPKBZu+DAIUqg9Pl5wU=", "owner": "neovim", "repo": "neovim", - "rev": "a601d031127689a7d60cc92f4ec89907794ed020", + "rev": "2c9fbe34b20266ef5ab54f6ed14fb38eef60430d", "type": "github" }, "original": { @@ -187,11 +187,11 @@ ] }, "locked": { - "lastModified": 1677312846, - "narHash": "sha256-CBEkl8diEBReMl5xamfx9pYgzToMY4tMGs5I9ghf+x4=", + "lastModified": 1677485761, + "narHash": "sha256-C04OWgNrCxPGUiT7Px/vZd42vfwRY6/EjHwHNUSHv7g=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "31c7e7155194d0abf0ac6109c241b383cd2b2475", + "rev": "aad4d8be05012055861b097b8019311fe62635bf", "type": "github" }, "original": { @@ -207,11 +207,11 @@ ] }, "locked": { - "lastModified": 1677366361, - "narHash": "sha256-N8WYr3IYJcBl/EqnNgWr4WpRHfSyIph7oyd1eLO1sLc=", + "lastModified": 1677494399, + "narHash": "sha256-C5JTR7bSR17iAHCVVs9hVz4KMWVrnRrvljMlRba9m0g=", "owner": "nifoc", "repo": "nix-overlay", - "rev": "1569bf5657ee01696183542de3cf703436470289", + "rev": "00b2645374f89918feab744d843754e05cf1cc73", "type": "github" }, "original": { @@ -222,11 +222,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1677321029, - "narHash": "sha256-Jvgm3LSpxAL5KDyHMOub8G6f+6dl7X8YTXsRSPAtiXw=", + "lastModified": 1677383253, + "narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=", "owner": "nixos", "repo": "nixpkgs", - "rev": "38b7104fd1db0046ceed579f5dab4e62f136589c", + "rev": "9952d6bc395f5841262b006fbace8dd7e143b634", "type": "github" }, "original": { diff --git a/home/hosts/Styx.nix b/home/hosts/Styx.nix index 10fd0b4..e882dcf 100644 --- a/home/hosts/Styx.nix +++ b/home/hosts/Styx.nix @@ -6,6 +6,7 @@ in { imports = [ ../programs/fish.nix + ../programs/atuin.nix ../programs/starship.nix ../programs/direnv.nix ../programs/wezterm.nix diff --git a/home/programs/atuin.nix b/home/programs/atuin.nix new file mode 100644 index 0000000..42e03a99 --- /dev/null +++ b/home/programs/atuin.nix @@ -0,0 +1,48 @@ +{ pkgs, lib, ... }: + +{ + programs.atuin = { + enable = true; + + package = pkgs.atuin.overrideAttrs ( + oldAttrs: rec { + version = "13.0.0"; + + src = pkgs.fetchFromGitHub { + owner = "ellie"; + repo = "atuin"; + rev = "v13.0.0"; + hash = "sha256-liuHleJxRrPWOQ5jL3BD8ErbKNGBeRk9Emvfodqy5dQ="; + }; + + cargoDeps = oldAttrs.cargoDeps.overrideAttrs (lib.const { + name = "${oldAttrs.pname}-${version}-vendor.tar.gz"; + inherit src; + outputHash = "sha256-0j2daQ9Qj+t3J91lMw4OXdpUViFgPhDDJFMm4QvFohU="; + }); + + checkFlags = [ + "--skip=tui::buffer::tests::index_of_panics_on_out_of_bounds" + "--skip=tui::buffer::tests::pos_of_panics_on_out_of_bounds" + ]; + } + ); + + enableBashIntegration = false; + enableZshIntegration = false; + enableFishIntegration = true; + + settings = { + auto_sync = false; + update_check = false; + + style = "auto"; + search_mode = "fuzzy"; + filter_mode_shell_up_key_binding = "session"; + + history_filter = [ + "^base64decode" + ]; + }; + }; +} diff --git a/home/programs/fish.nix b/home/programs/fish.nix index 73cbe6a..3c37621 100644 --- a/home/programs/fish.nix +++ b/home/programs/fish.nix @@ -80,17 +80,6 @@ in }; } - # https://github.com/andreiborisov/sponge/releases - { - name = "sponge"; - src = pkgs.fetchFromGitHub { - owner = "andreiborisov"; - repo = "sponge"; - rev = "1.1.0"; - sha256 = "sha256-MdcZUDRtNJdiyo2l9o5ma7nAX84xEJbGFhAVhK+Zm1w="; - }; - } - # https://github.com/PatrickF1/colored_man_pages.fish { name = "colored_man_pages"; @@ -183,12 +172,6 @@ in # Plugin: done set -g __done_min_cmd_duration 10000 ''; - - interactiveShellInit = '' - if [ "$TERM" = "xterm-kitty" ] - alias ssh "env TERM=xterm-256color ssh" - end - ''; }; xdg.configFile."fish/conf.d" = { diff --git a/home/programs/fzf.nix b/home/programs/fzf.nix index 8bef1b7..9bd11df 100644 --- a/home/programs/fzf.nix +++ b/home/programs/fzf.nix @@ -23,5 +23,9 @@ spinner = "#ffb86c"; header = "#6272a4"; }; + + enableBashIntegration = false; + enableZshIntegration = false; + enableFishIntegration = false; }; } diff --git a/home/programs/nvim/plugins.nix b/home/programs/nvim/plugins.nix index cb41729..8892826 100644 --- a/home/programs/nvim/plugins.nix +++ b/home/programs/nvim/plugins.nix @@ -36,12 +36,12 @@ rec { }; nvim-web-devicons = pkgs.vimUtils.buildVimPluginFrom2Nix { pname = "nvim-web-devicons"; - version = "2023-02-19"; + version = "2023-02-27"; src = pkgs.fetchFromGitHub { owner = "kyazdani42"; repo = "nvim-web-devicons"; - rev = "4709a504d2cd2680fb511675e64ef2790d491d36"; - sha256 = "0b3h95x2xhrhwspfazibpknxrli70vjahbf52h74yda4ji0n2x4a"; + rev = "0f23feca2bd08549b779c838b6b1308d1e76df03"; + sha256 = "0qzlgvbx0kvd2rg22x26pjssaqk3zq6gbmz95r24hngrb0jx7048"; fetchSubmodules = false; }; }; @@ -80,12 +80,12 @@ rec { }; substitute-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix { pname = "substitute.nvim"; - version = "2023-02-21"; + version = "2023-02-27"; src = pkgs.fetchFromGitHub { owner = "gbprod"; repo = "substitute.nvim"; - rev = "7898b00aaca2b1899ca0dbcc41798d38c8109cce"; - sha256 = "08bg3y7nbljqx667k697f1kqf3mrnjk70p81z6323sgi8hs59b2r"; + rev = "6f41f4b74d9616908194318031d845dd744519a2"; + sha256 = "1gjbpmv255ps6axz5w262rnn066syn0j0mllahnn8q2vhzd97q44"; fetchSubmodules = false; }; }; @@ -112,12 +112,12 @@ rec { }; }; nvim-treesitter = pkgs.vimPlugins.nvim-treesitter.overrideAttrs (_: { - version = "2023-02-25"; + version = "2023-02-27"; src = pkgs.fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "8d2f9903f11542c3363353a65a8e08adfcca9d29"; - sha256 = "03pqdfyv6pnps0k4c0lz7659gxx27wqyhmq1jk3lqjfzy8z8k5n2"; + rev = "a9f0b1c2ba1d70de9189e1ade0e65346ad08849b"; + sha256 = "1h2vq4rh7avp1fvls62pc0vmzkwwk5xydcbkjhv2p9jzmrmhkn13"; fetchSubmodules = false; }; }); @@ -145,12 +145,12 @@ rec { }; telescope-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix { pname = "telescope.nvim"; - version = "2023-02-20"; + version = "2023-02-26"; src = pkgs.fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope.nvim"; - rev = "a486ac3e8fb2198f3636da1927ed57a28836fbd8"; - sha256 = "1a2qdqxvp3d1i1wlc7gac1vqfbp0idcnk6y78vmjgziksamj4579"; + rev = "a3f17d3baf70df58b9d3544ea30abe52a7a832c2"; + sha256 = "136pik53kwl2avjdakwfls10d85jqybl7yd0mbzxc5nry8krav22"; fetchSubmodules = false; }; }; @@ -170,12 +170,12 @@ rec { }; project-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix { pname = "project.nvim"; - version = "2022-10-29"; + version = "2023-02-27"; src = pkgs.fetchFromGitHub { owner = "ahmedkhalf"; repo = "project.nvim"; - rev = "685bc8e3890d2feb07ccf919522c97f7d33b94e4"; - sha256 = "0s734kpy3hslb7n6y94cv08clvxh5qp6br1ns3178y99ysv36vkx"; + rev = "1c2e9c93c7c85126c2197f5e770054f53b1926fb"; + sha256 = "1q3lqngb54gnnbzvqy02lxdrzbmk9lyd2rl4q8caj3xx0wfbxlpb"; fetchSubmodules = false; }; }; @@ -324,12 +324,12 @@ rec { }; nvim-cmp = pkgs.vimUtils.buildVimPluginFrom2Nix { pname = "nvim-cmp"; - version = "2023-02-24"; + version = "2023-02-27"; src = pkgs.fetchFromGitHub { owner = "hrsh7th"; repo = "nvim-cmp"; - rev = "7a3b1e76f74934b12fda82158237c6ad8bfd3d40"; - sha256 = "0cy93aj02nkspr83sqsrix12jcnhkl5s2mbpjr5ffhpcrk19vlmx"; + rev = "01f697a68905f9dcae70960a9eb013695a17f9a2"; + sha256 = "1gv84m5kbadhv9ykqgf8agrialbbbi07rhy4icj0jjwn7bsgambh"; fetchSubmodules = false; }; }; @@ -423,12 +423,12 @@ rec { }; neoformat = pkgs.vimUtils.buildVimPluginFrom2Nix { pname = "neoformat"; - version = "2023-02-20"; + version = "2023-02-26"; src = pkgs.fetchFromGitHub { owner = "sbdchd"; repo = "neoformat"; - rev = "16bd62efc3fcdcd0f6682ea47f1f6070850f9963"; - sha256 = "1d5bqxfdg01hnx239v7bi301325ihvdypy0p4b1ay5py5jckld9h"; + rev = "891fad5829f91cbc3d0866f7abd028d233b8763e"; + sha256 = "0288iqk9rymsql0qnr9093qpadcwiqbd88grq25vkygs33czbif6"; fetchSubmodules = false; }; }; @@ -522,12 +522,12 @@ rec { }; toggleterm-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix { pname = "toggleterm.nvim"; - version = "2023-02-22"; + version = "2023-02-26"; src = pkgs.fetchFromGitHub { owner = "akinsho"; repo = "toggleterm.nvim"; - rev = "1f47ea9cda973af3f1742a71841f3914f5b1469f"; - sha256 = "001inq8azflnj0n35gx130nznanhmvw5cjmmi5l970ndcl82ijzs"; + rev = "31d38d11390bcd35a568fcc65a79b7d6ec89de62"; + sha256 = "1g134rc5gwrdpi2w3ab1k07v4spl5frimc68mkw7jx14ipwxf7q8"; fetchSubmodules = false; }; }; diff --git a/home/programs/wezterm.nix b/home/programs/wezterm.nix index 008c2aa..fd152c7 100644 --- a/home/programs/wezterm.nix +++ b/home/programs/wezterm.nix @@ -4,7 +4,7 @@ programs.wezterm = { enable = true; - package = pkgs.wezterm-unstable; + package = pkgs.wezterm; extraConfig = '' _G.shells = { diff --git a/secrets.nix b/secrets.nix index c1e19f6..124a460 100644 --- a/secrets.nix +++ b/secrets.nix @@ -19,6 +19,8 @@ in "agenix/hosts/sail/synapse/extraConfig.age".publicKeys = sail; + "agenix/hosts/sail/atuin/environment.age".publicKeys = sail; + "agenix/hosts/sail/freshrss/userPassword.age".publicKeys = sail; "agenix/hosts/sail/freshrss/databasePassword.age".publicKeys = sail; diff --git a/system/hosts/Styx.nix b/system/hosts/Styx.nix index 96999f1..9a6c708 100644 --- a/system/hosts/Styx.nix +++ b/system/hosts/Styx.nix @@ -49,6 +49,11 @@ in maxJobs = 1; } ]; + + gc = { + automatic = true; + user = "daniel"; + }; }; documentation.doc.enable = false; diff --git a/system/hosts/sail.nix b/system/hosts/sail.nix index a4121b5..a1dfad7 100644 --- a/system/hosts/sail.nix +++ b/system/hosts/sail.nix @@ -16,6 +16,8 @@ in ../nixos/cloudflared.nix + ../nixos/atuin.nix + ../nixos/anonymous-overflow.nix (import ../nixos/freshrss.nix (args // { inherit secret; })) diff --git a/system/nixos/atuin-sync.nix b/system/nixos/atuin-sync.nix new file mode 100644 index 0000000..9dbc05a --- /dev/null +++ b/system/nixos/atuin-sync.nix @@ -0,0 +1,28 @@ +{ pkgs, config, ... }: + +{ + users.users.atuin = { + group = "atuin"; + isSystemUser = true; + }; + + users.groups.atuin = { }; + + systemd.services.atuin-sync = { + description = "atuin sync server"; + + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "network-online.target" ]; + wants = [ "network.target" "network-online.target" ]; + + serviceConfig = { + ExecStart = "${pkgs.atuin}/bin/atuin server start"; + EnvironmentFile = [ config.age.secrets.atuin-environment.path ]; + Restart = "on-failure"; + User = "atuin"; + Group = "atuin"; + RuntimeDirectory = "atuin"; + RuntimeDirectoryMode = "0700"; + }; + }; +}