diff --git a/flake.lock b/flake.lock index 82612d8..b6cb642 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1734093295, - "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", + "lastModified": 1736013363, + "narHash": "sha256-P4lsS2Y5GzBfC8OfXtD/xWEucX6oHGTjOzjEjEJbXfc=", "owner": "nix-community", "repo": "home-manager", - "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", + "rev": "0d7908bd09165db6699908b7e3970f137327cbf0", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1733570843, - "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", + "lastModified": 1736002328, + "narHash": "sha256-anoVvML2D+nLfHlBfhEcCMjTou/9SRrrlqQN+Ug39ws=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "a35b08d09efda83625bef267eb24347b446c80b8", + "rev": "a464e5ba8cfb10a81599dbd422f30f5d37997916", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734313665, - "narHash": "sha256-aRhBY3xl7CVlXXtMI7ryjscdsoJItw75hhQJ7sZK49g=", + "lastModified": 1735998325, + "narHash": "sha256-4Zh6FUTQSbAfalbPyrzRTH0GTapf9/qlCEs2OaejFJQ=", "owner": "nix-community", "repo": "nur", - "rev": "3d3b39dbfb201d65fb8c2ee2a0cf6b1ada87a8dc", + "rev": "867df4df63ec4f24b79aa6ea97805e2d5efd376a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4844383..47d4fd2 100644 --- a/flake.nix +++ b/flake.nix @@ -28,7 +28,7 @@ config: { ... }: { - nixpkgs.overlays = [ nur.overlay ]; + nixpkgs.overlays = [ nur.overlays.default ]; imports = [ config ]; diff --git a/home.nix b/home.nix index b0bd782..6184fdc 100644 --- a/home.nix +++ b/home.nix @@ -37,9 +37,9 @@ cmake coursier curlFull - delta deno devenv + difftastic discord dua fd @@ -170,6 +170,7 @@ enable = true; settings = { theme = "tokyonight"; + editor.file-picker.hidden = false; }; }; @@ -185,48 +186,6 @@ enable = true; }; - programs.jujutsu = { - enable = true; - settings = { - signing = { - key = "~/.ssh/id_ed25519.pub"; - }; - user = { - name = "Salar Rahmanian"; - email = "code@softinio.com"; - }; - aliases = { - l = [ - "log" - "-r" - "(main..@):: | (main..@)-" - ]; - }; - ui = { - diff.format = "git"; - diff.tool = [ - "delta" - "--color-only" - "--hyperlinks" - "--line-numbers" - "--side-by-side" - "$left" - "$right" - ]; - editor = "nvim"; - merge-editor = [ - "meld" - "$left" - "$base" - "$right" - "-o" - "$output" - ]; - pager = "delta"; - }; - }; - }; - programs.lazygit = { enable = true; }; diff --git a/programs/default.nix b/programs/default.nix index de08b9e..ea6a78f 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -2,6 +2,7 @@ ./broot ./fish ./git + ./jujutsu ./tmux ./wezterm ./vscode diff --git a/programs/git/default.nix b/programs/git/default.nix index cec6e9e..fa25b40 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -4,16 +4,15 @@ let gitConfig = { core = { editor = "nvim"; - pager = "delta"; - }; - delta = { - "line-numbers" = true; - "hyperlinks" = true; - "side-by-side" = true; }; diff = { colorMoved = "default"; - tool = "nvim"; + external = "difft"; + tool = "difftastic"; + }; + difftool.difftastic = { + cmd = "difft \"$MERGED\" \"$LOCAL\" \"abcdef1\" \"100644\" \"$REMOTE\" \"abcdef2\" \"100644\""; + prompt = false; }; difftool.nvim = { cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""; @@ -21,24 +20,24 @@ let }; fetch.prune = true; init.defaultBranch = "main"; - interactive = { - diffFilter = "delta --color-only"; - }; - merge.conflictstyle = "diff3"; + merge.conflictstyle = "zdiff3"; merge.tool = "nvim"; mergetool.nvim = { cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\""; prompt = false; keepBackup = false; }; - # url = { - # "git@github.com:" = { - # insteadOf = "https://github.com/"; - # }; - # }; + pager = { + difftool = true; + }; pull = { rebase = true; }; + url = { + "git@github.com:" = { + insteadOf = "https://github.com/"; + }; + }; }; myAliases = { ci = "commit"; @@ -53,7 +52,6 @@ let st = "status"; }; myIgnores = [ - "*~" ".DS_Store" "*.bloop" ".direnv/" diff --git a/programs/jujutsu/default.nix b/programs/jujutsu/default.nix new file mode 100644 index 0000000..18f6a01 --- /dev/null +++ b/programs/jujutsu/default.nix @@ -0,0 +1,44 @@ +{ ... }: +let + MyAliases = { + l = [ + "log" + "-r" + "(main..@):: | (main..@)-" + ]; + }; +in +{ + programs.jujutsu = { + enable = true; + settings = { + aliases = MyAliases; + signing = { + key = "~/.ssh/id_ed25519.pub"; + }; + ui = { + diff.format = "git"; + diff.tool = [ + "difft" + "--color=always" + "$left" + "$right" + ]; + editor = "nvim"; + merge-editor = [ + "meld" + "$left" + "$base" + "$right" + "-o" + "$output" + ]; + pager = "less -FRX"; + }; + user = { + name = "Salar Rahmanian"; + email = "code@softinio.com"; + }; + }; + }; +} diff --git a/programs/zed/default.nix b/programs/zed/default.nix index b551409..40a4f30 100644 --- a/programs/zed/default.nix +++ b/programs/zed/default.nix @@ -16,9 +16,33 @@ in enable = true; extensions = myextensions; userSettings = { + assistant = { + version = "2"; + default_model = { + provider = "copilot_chat"; + model = "gpt-4o"; + }; + }; features = { copilot = true; }; + language_models = { + openai = { + available_models = [ + { + provider = "openai"; + name = "gpt-4o"; + max_tokens = 128000; + } + { + provider = "openai"; + name = "gpt-4o-mini"; + max_tokens = 128000; + } + ]; + version = "2"; + }; + }; telemetry.metrics = false; theme = "Andromeda"; vim_mode = true;