From 5efedf035d1ea586bb7417f1d2479f307bb8c29a Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 20:27:10 +0100 Subject: [PATCH 01/28] Update to 24.11 and install spotify --- README.md | 6 +++++- flake.nix | 4 ++-- home-manager/home.nix | 4 +++- home-manager/spotify.nix | 5 +++++ nixos/configuration.nix | 2 +- 5 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 home-manager/spotify.nix diff --git a/README.md b/README.md index 1e250c1..8ea99bb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ # setup-machines -This repo contains all the tools to correctly setup all the needed tools on a machine from clean install \ No newline at end of file +This repo contains all the tools to correctly setup all the needed tools on a machine from clean install + +```sh +home-manager switch --flake .#noahk@NixOS_Desktop +``` diff --git a/flake.nix b/flake.nix index 502609c..be02b2f 100644 --- a/flake.nix +++ b/flake.nix @@ -2,9 +2,9 @@ description = "A very basic flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; - home-manager.url = "github:nix-community/home-manager/release-24.05"; + home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; diff --git a/home-manager/home.nix b/home-manager/home.nix index ca10f03..d4e5331 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -14,6 +14,8 @@ # You can also split up your configuration and import pieces of it here: # ./nvim.nix + + ./spotify.nix ]; nixpkgs = { @@ -55,5 +57,5 @@ systemd.user.startServices = sd-switch; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = 24.05; + home.stateVersion = 24.11; } diff --git a/home-manager/spotify.nix b/home-manager/spotify.nix new file mode 100644 index 0000000..23fa672 --- /dev/null +++ b/home-manager/spotify.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: { + programs.spotify = { + enable = true; + } +} \ No newline at end of file diff --git a/nixos/configuration.nix b/nixos/configuration.nix index bea3c6c..11deb42 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -117,6 +117,6 @@ # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "24.05"; # Did you read the comment? + system.stateVersion = "24.11"; # Did you read the comment? } -- 2.49.1 From 581f5c8d49bb916972e9eadc15359123479a736d Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 20:30:04 +0100 Subject: [PATCH 02/28] Updated lock --- flake.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index ea7c123..f77e3f4 100644 --- a/flake.lock +++ b/flake.lock @@ -7,32 +7,32 @@ ] }, "locked": { - "lastModified": 1720042825, - "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", + "lastModified": 1739757849, + "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "owner": "nix-community", "repo": "home-manager", - "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", + "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1723938990, - "narHash": "sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI=", + "lastModified": 1740463929, + "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c42fcfbdfeae23e68fc520f9182dde9f38ad1890", + "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } -- 2.49.1 From dac0c997a1d1513b17549f21186aa4f44af95b8e Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 20:30:44 +0100 Subject: [PATCH 03/28] Add missing ; in spotify --- home-manager/spotify.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/spotify.nix b/home-manager/spotify.nix index 23fa672..3873875 100644 --- a/home-manager/spotify.nix +++ b/home-manager/spotify.nix @@ -1,5 +1,5 @@ { pkgs, ... }: { programs.spotify = { enable = true; - } + }; } \ No newline at end of file -- 2.49.1 From 745bc7b80f21e2d5d9561d0f53d885bce885a909 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 20:31:54 +0100 Subject: [PATCH 04/28] Add missing quotes --- home-manager/home.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home-manager/home.nix b/home-manager/home.nix index d4e5331..c7799fe 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -41,8 +41,8 @@ }; home = { - username = noahk; - homeDirectory = /home/noahk/; + username = "noahk"; + homeDirectory = "/home/noahk"; }; # Add stuff for your user as you see fit: @@ -54,8 +54,8 @@ programs.git.enable = true; # Nicely reload system units when changing configs - systemd.user.startServices = sd-switch; + systemd.user.startServices = "sd-switch"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = 24.11; + home.stateVersion = "24.11"; } -- 2.49.1 From 42e094806b5e52bebb56c572abd175d8a2472c63 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 20:45:24 +0100 Subject: [PATCH 05/28] Update spotify to be installed system wide --- home-manager/home.nix | 2 -- home-manager/spotify.nix | 5 ----- nixos/configuration.nix | 13 ++++++++++++- 3 files changed, 12 insertions(+), 8 deletions(-) delete mode 100644 home-manager/spotify.nix diff --git a/home-manager/home.nix b/home-manager/home.nix index c7799fe..c1dd411 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -14,8 +14,6 @@ # You can also split up your configuration and import pieces of it here: # ./nvim.nix - - ./spotify.nix ]; nixpkgs = { diff --git a/home-manager/spotify.nix b/home-manager/spotify.nix deleted file mode 100644 index 3873875..0000000 --- a/home-manager/spotify.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs, ... }: { - programs.spotify = { - enable = true; - }; -} \ No newline at end of file diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 11deb42..3093853 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -109,6 +109,18 @@ papirus-icon-theme # Menu kind xfce.xfce4-whiskermenu-plugin + + # Spotify + spotify + ]; + + networking.firewall.allowedTCPPorts = [ + # Allow discovery for spotify on the network + 57621 + ]; + networking.firewall.allowedUDPPorts = [ + # Allow discovery for spotify on the network + 57621 ]; # This value determines the NixOS release from which the default @@ -118,5 +130,4 @@ # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "24.11"; # Did you read the comment? - } -- 2.49.1 From 82910d4449f5992f980ad3dd0d760cd3b6012e89 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 20:49:41 +0100 Subject: [PATCH 06/28] Update readme --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 8ea99bb..5650cc0 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,7 @@ This repo contains all the tools to correctly setup all the needed tools on a ma ```sh home-manager switch --flake .#noahk@NixOS_Desktop ``` + +```sh +sudo nixos-rebuild switch --flake .#NixOS_Desktop +``` -- 2.49.1 From 60a3e4ae1db60fc4175c9667c749da8dd3b5d47d Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 20:52:16 +0100 Subject: [PATCH 07/28] Allow mDNS port --- nixos/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 3093853..d310651 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -120,7 +120,7 @@ ]; networking.firewall.allowedUDPPorts = [ # Allow discovery for spotify on the network - 57621 + 5353 ]; # This value determines the NixOS release from which the default -- 2.49.1 From c45866e0b0d39b11ec5a2d00639a778d83fd9893 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 21:32:47 +0100 Subject: [PATCH 08/28] Add vscode stuff --- home-manager/IDEs/default.nix | 7 +++++++ home-manager/IDEs/vscode.nix | 16 ++++++++++++++++ home-manager/home.nix | 2 ++ 3 files changed, 25 insertions(+) create mode 100644 home-manager/IDEs/default.nix create mode 100644 home-manager/IDEs/vscode.nix diff --git a/home-manager/IDEs/default.nix b/home-manager/IDEs/default.nix new file mode 100644 index 0000000..9f885b8 --- /dev/null +++ b/home-manager/IDEs/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./vscode.nix + ]; +} \ No newline at end of file diff --git a/home-manager/IDEs/vscode.nix b/home-manager/IDEs/vscode.nix new file mode 100644 index 0000000..656ff54 --- /dev/null +++ b/home-manager/IDEs/vscode.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: + +{ + programs.vscode = { + enable = true; + extensions = with pkgs.vscode-extensions; [ + catppuccin.catppuccin-vsc + catppuccin.catppuccin-vsc-icons + + jnoortheen.nix-ide + mhutchie.git-graph + donjayamanne.githistory + eamodio.gitlens + ]; + }; +} \ No newline at end of file diff --git a/home-manager/home.nix b/home-manager/home.nix index c1dd411..a9118ab 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -14,6 +14,8 @@ # You can also split up your configuration and import pieces of it here: # ./nvim.nix + + ./IDEs ]; nixpkgs = { -- 2.49.1 From e9c249930482403dc452b5653397ce68cad8f660 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 21:50:57 +0100 Subject: [PATCH 09/28] Add git for user --- home-manager/git/default.nix | 20 ++++++++++++++++++++ home-manager/home.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 home-manager/git/default.nix diff --git a/home-manager/git/default.nix b/home-manager/git/default.nix new file mode 100644 index 0000000..d6a7873 --- /dev/null +++ b/home-manager/git/default.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: + +{ + programs.git = { + enable = true; + delta.enable = true; + + userName = "Noah Knegt"; + userEmail = "personal@noahknegt.com"; + + extraConfig = { + push = { + autoSetupRemote = true; + }; + }; + }; + + imports = [ + ]; +} \ No newline at end of file diff --git a/home-manager/home.nix b/home-manager/home.nix index a9118ab..2752423 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -16,6 +16,8 @@ # ./nvim.nix ./IDEs + + ./git ]; nixpkgs = { -- 2.49.1 From 2655971046474528e217f9d5ceef426e83d0b4b4 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 22:23:51 +0100 Subject: [PATCH 10/28] Update git config --- home-manager/git/default.nix | 6 +++--- home-manager/home.nix | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/home-manager/git/default.nix b/home-manager/git/default.nix index d6a7873..a7c5608 100644 --- a/home-manager/git/default.nix +++ b/home-manager/git/default.nix @@ -9,9 +9,9 @@ userEmail = "personal@noahknegt.com"; extraConfig = { - push = { - autoSetupRemote = true; - }; + push = { autoSetupRemote = true; }; + pull = { rebase = true; }; + fetch = { prune = true; }; }; }; diff --git a/home-manager/home.nix b/home-manager/home.nix index 2752423..f3004d7 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -53,7 +53,6 @@ # Enable home-manager and git programs.home-manager.enable = true; - programs.git.enable = true; # Nicely reload system units when changing configs systemd.user.startServices = "sd-switch"; -- 2.49.1 From 3a8fbacd748671803cc1d760810fcdcd2e9adbe1 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 22:27:32 +0100 Subject: [PATCH 11/28] Update networking config --- nixos/configuration.nix | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/nixos/configuration.nix b/nixos/configuration.nix index d310651..8c16e7e 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -32,11 +32,23 @@ channel.enable = false; }; + networking = { + hostName = "NixOS_Desktop"; # Define your hostname. + networkmanager.enable = true; + + firewall = { + allowedTCPPorts = [ + # Allow discovery for spotify on the network + 57621 + ]; + allowedUDPPorts = [ + # Allow discovery for spotify on the network + 5353 + ]; + }; + }; - networking.hostName = "NixOS_Desktop"; # Define your hostname. -# Enable networking - networking.networkmanager.enable = true; # Set your time zone. time.timeZone = "Europe/Amsterdam"; @@ -114,15 +126,6 @@ spotify ]; - networking.firewall.allowedTCPPorts = [ - # Allow discovery for spotify on the network - 57621 - ]; - networking.firewall.allowedUDPPorts = [ - # Allow discovery for spotify on the network - 5353 - ]; - # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It's perfectly fine and recommended to leave -- 2.49.1 From db1d71fdb229615e9f17f0afde257455a8081558 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 22:44:31 +0100 Subject: [PATCH 12/28] Add home manager manual --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5650cc0..d83bf07 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ This repo contains all the tools to correctly setup all the needed tools on a machine from clean install +[home-manager manual](https://nix-community.github.io/home-manager/index.xhtml) + ```sh home-manager switch --flake .#noahk@NixOS_Desktop ``` -- 2.49.1 From a112e80baaf3eb1dbe30cf6e6e7ff95bb5eb38cb Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Wed, 26 Feb 2025 22:57:42 +0100 Subject: [PATCH 13/28] Add some specific git config --- home-manager/git/default.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/home-manager/git/default.nix b/home-manager/git/default.nix index a7c5608..76b276c 100644 --- a/home-manager/git/default.nix +++ b/home-manager/git/default.nix @@ -13,8 +13,20 @@ pull = { rebase = true; }; fetch = { prune = true; }; }; - }; - imports = [ - ]; + includes = [ + { + condition = "gitdir:~/git.noahknegt.com"; + contents = { + userEmail = "git@noahknegt.com"; + }; + } + { + condition = "gitdir:~/open-source"; + contents = { + userEmail = "git@noahknegt.com"; + }; + } + ]; + }; } \ No newline at end of file -- 2.49.1 From f3d3383173ed5840743db9c8d969db61a567e4ec Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 27 Feb 2025 17:38:22 +0100 Subject: [PATCH 14/28] Some signing key stuff --- home-manager/git/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home-manager/git/default.nix b/home-manager/git/default.nix index 76b276c..dc849f6 100644 --- a/home-manager/git/default.nix +++ b/home-manager/git/default.nix @@ -8,7 +8,13 @@ userName = "Noah Knegt"; userEmail = "personal@noahknegt.com"; + signing = { + key = "~/.ssh/id_ed25519.pub"; + signByDefault = true; + }; + extraConfig = { + gpg = { format = "ssh"; }; push = { autoSetupRemote = true; }; pull = { rebase = true; }; fetch = { prune = true; }; @@ -17,12 +23,14 @@ includes = [ { condition = "gitdir:~/git.noahknegt.com"; + path = "~/.config/git/git.noahknegt.com.gitconfig"; contents = { userEmail = "git@noahknegt.com"; }; } { condition = "gitdir:~/open-source"; + path = "~/.config/git/open-source.gitconfig"; contents = { userEmail = "git@noahknegt.com"; }; -- 2.49.1 From d310ab19d3397c619f4ac9d502677a19be09972d Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 27 Feb 2025 17:39:57 +0100 Subject: [PATCH 15/28] Add basic ZSH config --- home-manager/home.nix | 1 + home-manager/zsh/default.nix | 5 +++++ home-manager/zsh/zsh.nix | 7 +++++++ 3 files changed, 13 insertions(+) create mode 100644 home-manager/zsh/default.nix create mode 100644 home-manager/zsh/zsh.nix diff --git a/home-manager/home.nix b/home-manager/home.nix index f3004d7..ca14a51 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -18,6 +18,7 @@ ./IDEs ./git + ./zsh ]; nixpkgs = { diff --git a/home-manager/zsh/default.nix b/home-manager/zsh/default.nix new file mode 100644 index 0000000..a918d24 --- /dev/null +++ b/home-manager/zsh/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + imports = [ ./zsh.nix ]; +} diff --git a/home-manager/zsh/zsh.nix b/home-manager/zsh/zsh.nix new file mode 100644 index 0000000..2cd69a7 --- /dev/null +++ b/home-manager/zsh/zsh.nix @@ -0,0 +1,7 @@ +{ pkgs, inputs, ... }: + +{ + programs.zsh = { + enable = true; + }; +} \ No newline at end of file -- 2.49.1 From 7fc2bf7b805660601c83ccdd7041928052be20a2 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 27 Feb 2025 18:42:07 +0100 Subject: [PATCH 16/28] Add antidote config --- home-manager/zsh/antidote.nix | 32 ++++++++++++++++++++++++++++++++ home-manager/zsh/default.nix | 5 ++++- home-manager/zsh/zsh.nix | 2 ++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 home-manager/zsh/antidote.nix diff --git a/home-manager/zsh/antidote.nix b/home-manager/zsh/antidote.nix new file mode 100644 index 0000000..f24ad57 --- /dev/null +++ b/home-manager/zsh/antidote.nix @@ -0,0 +1,32 @@ +{ pkgs, inputs, ... }: + +{ + programs.zsh.antidote = { + enable = true; + + plugins = [ + # popular fish-like plugins + "mattmc3/zfunctions" + "zsh-users/zsh-autosuggestions" + "zdharma-continuum/fast-syntax-highlighting kind:defer" + "zsh-users/zsh-history-substring-search" + + # set up Zsh completions with plugins + "mattmc3/ez-compinit" + "zsh-users/zsh-completions kind:fpath path:src" + + # frameworks like oh-my-zsh are supported + "getantidote/use-omz" # handle OMZ dependencies + "ohmyzsh/ohmyzsh path:lib" # load OMZ's library + + # List of plugins + "ohmyzsh/ohmyzsh path:plugins/extract" + "ohmyzsh/ohmyzsh path:plugins/git" + "ohmyzsh/ohmyzsh path:plugins/git-auto-fetch" + "ohmyzsh/ohmyzsh path:plugins/gitignore" + "ohmyzsh/ohmyzsh path:plugins/jsontools" + "ohmyzsh/ohmyzsh path:plugins/sudo" + "ohmyzsh/ohmyzsh path:plugins/tmux" + ]; + }; +} \ No newline at end of file diff --git a/home-manager/zsh/default.nix b/home-manager/zsh/default.nix index a918d24..82a9428 100644 --- a/home-manager/zsh/default.nix +++ b/home-manager/zsh/default.nix @@ -1,5 +1,8 @@ { ... }: { - imports = [ ./zsh.nix ]; + imports = [ + ./antidote.nix + ./zsh.nix + ]; } diff --git a/home-manager/zsh/zsh.nix b/home-manager/zsh/zsh.nix index 2cd69a7..6453177 100644 --- a/home-manager/zsh/zsh.nix +++ b/home-manager/zsh/zsh.nix @@ -3,5 +3,7 @@ { programs.zsh = { enable = true; + + autosuggestion.enable = true; }; } \ No newline at end of file -- 2.49.1 From 6c135e9c4eb26a0a27f96c6d893bc040a242f3bd Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 27 Feb 2025 18:44:16 +0100 Subject: [PATCH 17/28] Add tmux --- home-manager/home.nix | 2 ++ home-manager/tmux.nix | 7 +++++++ 2 files changed, 9 insertions(+) create mode 100644 home-manager/tmux.nix diff --git a/home-manager/home.nix b/home-manager/home.nix index ca14a51..d2a471a 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -19,6 +19,8 @@ ./git ./zsh + + ./tmux.nix ]; nixpkgs = { diff --git a/home-manager/tmux.nix b/home-manager/tmux.nix new file mode 100644 index 0000000..6e128be --- /dev/null +++ b/home-manager/tmux.nix @@ -0,0 +1,7 @@ +{ pkgs, inputs, ... }: + +{ + programs.tmux = { + enable = true; + }; +} \ No newline at end of file -- 2.49.1 From f7e6844a5b3abcc84bb0a83a546d14841b234d2b Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 27 Feb 2025 19:36:22 +0100 Subject: [PATCH 18/28] Add starship --- home-manager/zsh/default.nix | 1 + home-manager/zsh/starship.nix | 8 ++++++++ nixos/configuration.nix | 3 +++ 3 files changed, 12 insertions(+) create mode 100644 home-manager/zsh/starship.nix diff --git a/home-manager/zsh/default.nix b/home-manager/zsh/default.nix index 82a9428..6c38bc4 100644 --- a/home-manager/zsh/default.nix +++ b/home-manager/zsh/default.nix @@ -3,6 +3,7 @@ { imports = [ ./antidote.nix + ./starship.nix ./zsh.nix ]; } diff --git a/home-manager/zsh/starship.nix b/home-manager/zsh/starship.nix new file mode 100644 index 0000000..20e9385 --- /dev/null +++ b/home-manager/zsh/starship.nix @@ -0,0 +1,8 @@ +{ pkgs, inputs, ... }: + +{ + programs.starship = { + enable = true; + enableZshIntegration = true; + }; +} diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 8c16e7e..fe50a06 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -100,11 +100,14 @@ #media-session.enable = true; }; + programs.zsh.enable = true; + # Define a user account. Don't forget to set a password with 'passwd'. users.users.noahk = { isNormalUser = true; description = "Noah Knegt"; extraGroups = [ "networkmanager" "wheel" ]; + shell = pkgs.zsh; }; # Install firefox. -- 2.49.1 From 6b0dd1a8ef2840cd421461290c4f5b63fe6329b1 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 18:57:16 +0100 Subject: [PATCH 19/28] Add zoxide --- home-manager/zsh/default.nix | 1 + home-manager/zsh/zoxide.nix | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 home-manager/zsh/zoxide.nix diff --git a/home-manager/zsh/default.nix b/home-manager/zsh/default.nix index 6c38bc4..8232731 100644 --- a/home-manager/zsh/default.nix +++ b/home-manager/zsh/default.nix @@ -4,6 +4,7 @@ imports = [ ./antidote.nix ./starship.nix + ./zoxide.nix ./zsh.nix ]; } diff --git a/home-manager/zsh/zoxide.nix b/home-manager/zsh/zoxide.nix new file mode 100644 index 0000000..1701cbf --- /dev/null +++ b/home-manager/zsh/zoxide.nix @@ -0,0 +1,8 @@ +{ pkgs, inputs, ... }: + +{ + programs.zoxide = { + enable = true; + enableZshIntegration = true; + }; +} -- 2.49.1 From 2418736ef0c1dd135fabbd893f0787825988eecd Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 19:01:15 +0100 Subject: [PATCH 20/28] Update readme commands --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d83bf07..bc69530 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,9 @@ This repo contains all the tools to correctly setup all the needed tools on a ma [home-manager manual](https://nix-community.github.io/home-manager/index.xhtml) ```sh -home-manager switch --flake .#noahk@NixOS_Desktop +home-manager switch --flake ".#noahk@NixOS_Desktop" ``` ```sh -sudo nixos-rebuild switch --flake .#NixOS_Desktop +sudo nixos-rebuild switch --flake ".#NixOS_Desktop" ``` -- 2.49.1 From c46b008cfb768ca6f1f4fbe8b00f8b95cc7b0a0e Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 19:01:32 +0100 Subject: [PATCH 21/28] Add fzf package --- home-manager/zsh/antidote.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/zsh/antidote.nix b/home-manager/zsh/antidote.nix index f24ad57..3e313b7 100644 --- a/home-manager/zsh/antidote.nix +++ b/home-manager/zsh/antidote.nix @@ -21,6 +21,7 @@ # List of plugins "ohmyzsh/ohmyzsh path:plugins/extract" + "ohmyzsh/ohmyzsh path:plugins/fzf" "ohmyzsh/ohmyzsh path:plugins/git" "ohmyzsh/ohmyzsh path:plugins/git-auto-fetch" "ohmyzsh/ohmyzsh path:plugins/gitignore" -- 2.49.1 From 0ee55c32078dc7fd3b10974e1ebfe6f5429da0cc Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 19:01:46 +0100 Subject: [PATCH 22/28] Always append to the history of zsh --- home-manager/zsh/zsh.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/zsh/zsh.nix b/home-manager/zsh/zsh.nix index 6453177..d5bdd9a 100644 --- a/home-manager/zsh/zsh.nix +++ b/home-manager/zsh/zsh.nix @@ -5,5 +5,9 @@ enable = true; autosuggestion.enable = true; + + history = { + append = true; + }; }; } \ No newline at end of file -- 2.49.1 From 9d3b894b87f6e3b6b4717b4554107f3ea58fc4b5 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 19:03:26 +0100 Subject: [PATCH 23/28] Add fzf --- home-manager/fzf.nix | 9 +++++++++ home-manager/home.nix | 1 + 2 files changed, 10 insertions(+) create mode 100644 home-manager/fzf.nix diff --git a/home-manager/fzf.nix b/home-manager/fzf.nix new file mode 100644 index 0000000..3e697cb --- /dev/null +++ b/home-manager/fzf.nix @@ -0,0 +1,9 @@ +{ pkgs, inputs, ... }: + +{ + programs.fzf = { + enable = true; + enableZshIntegration = true; + + }; +} diff --git a/home-manager/home.nix b/home-manager/home.nix index d2a471a..9cb53e8 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -20,6 +20,7 @@ ./git ./zsh + ./fzf.nix ./tmux.nix ]; -- 2.49.1 From a6696c732c1eb2b17919b88db524ee6aa19eed62 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 19:07:15 +0100 Subject: [PATCH 24/28] Use full git version --- home-manager/git/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/git/default.nix b/home-manager/git/default.nix index dc849f6..d7e1d8e 100644 --- a/home-manager/git/default.nix +++ b/home-manager/git/default.nix @@ -3,6 +3,8 @@ { programs.git = { enable = true; + package = pkgs.gitFull; + delta.enable = true; userName = "Noah Knegt"; -- 2.49.1 From 5818af3a11f882454dd0127198b0a52ea19f9afd Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 19:10:52 +0100 Subject: [PATCH 25/28] Add tools in a tools dir --- home-manager/home.nix | 5 ++--- home-manager/tools/bat.nix | 7 +++++++ home-manager/tools/default.nix | 11 +++++++++++ home-manager/tools/eza.nix | 16 ++++++++++++++++ home-manager/{ => tools}/fzf.nix | 0 home-manager/tools/ripgrep.nix | 7 +++++++ home-manager/{ => tools}/tmux.nix | 0 home-manager/zsh/zsh.nix | 15 +++++++++++++++ 8 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 home-manager/tools/bat.nix create mode 100644 home-manager/tools/default.nix create mode 100644 home-manager/tools/eza.nix rename home-manager/{ => tools}/fzf.nix (100%) create mode 100644 home-manager/tools/ripgrep.nix rename home-manager/{ => tools}/tmux.nix (100%) diff --git a/home-manager/home.nix b/home-manager/home.nix index 9cb53e8..6374106 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -17,11 +17,10 @@ ./IDEs + ./tools + ./git ./zsh - - ./fzf.nix - ./tmux.nix ]; nixpkgs = { diff --git a/home-manager/tools/bat.nix b/home-manager/tools/bat.nix new file mode 100644 index 0000000..ded7a61 --- /dev/null +++ b/home-manager/tools/bat.nix @@ -0,0 +1,7 @@ +{ pkgs, inputs, ... }: + +{ + programs.bat = { + enable = true; + }; +} diff --git a/home-manager/tools/default.nix b/home-manager/tools/default.nix new file mode 100644 index 0000000..6af9a51 --- /dev/null +++ b/home-manager/tools/default.nix @@ -0,0 +1,11 @@ +{ ... }: + +{ + imports = [ + ./bat.nix + ./eza.nix + ./fzf.nix + ./ripgrep.nix + ./tmux.nix + ]; +} diff --git a/home-manager/tools/eza.nix b/home-manager/tools/eza.nix new file mode 100644 index 0000000..08abd36 --- /dev/null +++ b/home-manager/tools/eza.nix @@ -0,0 +1,16 @@ +{ pkgs, inputs, ... }: + +{ + programs.eza = { + enable = true; + enableZshIntegration = true; + + colors = "always"; + icons = "always"; + git = true; + + extraOptions = [ + "--group-directories-first" + ]; + }; +} diff --git a/home-manager/fzf.nix b/home-manager/tools/fzf.nix similarity index 100% rename from home-manager/fzf.nix rename to home-manager/tools/fzf.nix diff --git a/home-manager/tools/ripgrep.nix b/home-manager/tools/ripgrep.nix new file mode 100644 index 0000000..510a0a3 --- /dev/null +++ b/home-manager/tools/ripgrep.nix @@ -0,0 +1,7 @@ +{ pkgs, inputs, ... }: + +{ + programs.ripgrep = { + enable = true; + }; +} diff --git a/home-manager/tmux.nix b/home-manager/tools/tmux.nix similarity index 100% rename from home-manager/tmux.nix rename to home-manager/tools/tmux.nix diff --git a/home-manager/zsh/zsh.nix b/home-manager/zsh/zsh.nix index d5bdd9a..f5a289b 100644 --- a/home-manager/zsh/zsh.nix +++ b/home-manager/zsh/zsh.nix @@ -5,9 +5,24 @@ enable = true; autosuggestion.enable = true; + enableCompletion = true; history = { append = true; }; + + + shellAliases = { + ls = "eza"; + ll = "eza -lh"; + lal = "eza -lah"; + + cd = "z"; + + grep = "ripgrep"; + + cat = "bat"; + less = "bat --pager=less"; + }; }; } \ No newline at end of file -- 2.49.1 From 7fde87b66f12bc816cb230f8a766bcfc581390b3 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 19:13:49 +0100 Subject: [PATCH 26/28] Use correct alias for ripgrep --- home-manager/zsh/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/zsh/zsh.nix b/home-manager/zsh/zsh.nix index f5a289b..756e516 100644 --- a/home-manager/zsh/zsh.nix +++ b/home-manager/zsh/zsh.nix @@ -19,7 +19,7 @@ cd = "z"; - grep = "ripgrep"; + grep = "rg"; cat = "bat"; less = "bat --pager=less"; -- 2.49.1 From b522df0be7e62b0f3de2dbe27ddcacc76947bffd Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 19:18:08 +0100 Subject: [PATCH 27/28] Clean up XFCE and install nerdfonts --- nixos/configuration.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/nixos/configuration.nix b/nixos/configuration.nix index fe50a06..2bf744b 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -68,15 +68,14 @@ LC_TIME = "nl_NL.UTF-8"; }; - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the XFCE Desktop Environment. - services.xserver.displayManager.lightdm.enable = true; - services.xserver.desktopManager.xfce.enable = true; - - # Configure keymap in X11 + # Configure X11 services.xserver = { + enable = true; + + # XFCE + displayManager.lightdm.enable = true; + desktopManager.xfce.enable = true; + xkb.layout = "us"; xkb.variant = ""; }; @@ -125,6 +124,9 @@ # Menu kind xfce.xfce4-whiskermenu-plugin + # Fonts + nerdfonts + # Spotify spotify ]; -- 2.49.1 From 002775a42a2a690c755f6183fe7102aa530478d6 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Fri, 28 Feb 2025 21:44:39 +0100 Subject: [PATCH 28/28] Install nerdfonts source code pro --- home-manager/home.nix | 6 ++++++ nixos/configuration.nix | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/home-manager/home.nix b/home-manager/home.nix index 6374106..eea40ec 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -48,8 +48,14 @@ home = { username = "noahk"; homeDirectory = "/home/noahk"; + + packages = [ + (pkgs.nerdfonts.override { fonts = [ "SourceCodePro" ]; }) + ]; }; + fonts.fontconfig.enable = true; + # Add stuff for your user as you see fit: # programs.neovim.enable = true; # home.packages = with pkgs; [ steam ]; diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 2bf744b..8b8859f 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -124,9 +124,6 @@ # Menu kind xfce.xfce4-whiskermenu-plugin - # Fonts - nerdfonts - # Spotify spotify ]; -- 2.49.1