From d4e4d8d60416b069abfe037f6c567c1acd09c325 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 10:22:01 -0500 Subject: [PATCH 01/16] universeair: Update Aliases and the like --- flake.nix | 2 +- machines/universeair/configuration.nix | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index c65ea9e..f7d91fc 100644 --- a/flake.nix +++ b/flake.nix @@ -59,7 +59,7 @@ ./machines/universedesktop/configuration.nix ]; }; - darwinConfigurations."Universe-Air" = nix-darwin.lib.darwinSystem { + darwinConfigurations."Universe-MacBook-Air" = nix-darwin.lib.darwinSystem { system = "aarch64-darwin"; specialArgs = { inputs = attrs; diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 779bd26..313c9e1 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -28,9 +28,7 @@ flakify() { ''; shellAliases = { ssh = "kitty +kitten ssh"; - sshu = "ssh universe@syzygial.cc -p 7000"; - tailscale = -"/Applications/Tailscale.app/Contents/MacOS/Tailscale"; + sshu = "ssh universe"; }; }; home.stateVersion = "22.05"; From 5205e6004c9530e8e9245c80f4959a412acf7ea5 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 10:33:08 -0500 Subject: [PATCH 02/16] Applications Directory Fix --- machines/universeair/app-fix.nix | 29 ++++++++++++++++++++++++++ machines/universeair/configuration.nix | 17 +++------------ 2 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 machines/universeair/app-fix.nix diff --git a/machines/universeair/app-fix.nix b/machines/universeair/app-fix.nix new file mode 100644 index 0000000..7f7d887 --- /dev/null +++ b/machines/universeair/app-fix.nix @@ -0,0 +1,29 @@ +{config, pkgs, lib, ...}: { + # Nix-darwin does not link installed applications to the user environment. This means apps will not show up + # in spotlight, and when launched through the dock they come with a terminal window. This is a workaround. + # Upstream issue: https://github.com/LnL7/nix-darwin/issues/214 + system.activationScripts.applications.text = lib.mkForce '' + echo "setting up /Applications..." >&2 + applications="/Applications" + nix_apps="$applications/Nix Apps" + + # Delete the directory to remove old links + rm -rf "$nix_apps" + mkdir -p "$nix_apps" + find ${config.system.build.applications}/Applications -maxdepth 1 -type l -exec readlink '{}' + | + while read src; do + # Spotlight does not recognize symlinks, it will ignore directory we link to the applications folder. + # It does understand MacOS aliases though, a unique filesystem feature. Sadly they cannot be created + # from bash (as far as I know), so we use the oh-so-great Apple Script instead. + /usr/bin/osascript -e " + set fileToAlias to POSIX file \"$src\" + set applicationsFolder to POSIX file \"$nix_apps\" + tell application \"Finder\" + make new alias at applicationsFolder to fileToAlias + # This renames the alias; 'mpv.app alias' -> 'mpv.app' + set name of result to \"$(rev <<< "$src" | cut -d'/' -f1 | rev)\" + end tell + " 1>/dev/null + done + ''; +} diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 313c9e1..1c49327 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -1,6 +1,9 @@ { config, pkgs, inputs, ... }: let in { + imports = [ + ./app-fix.nix + ]; nix.registry.nixpkgs.flake = inputs.nixpkgs; home-manager.useGlobalPkgs = true; @@ -15,17 +18,6 @@ in programs.bash.enable = true; programs.zsh = { enable = true; - initExtra = '' -PATH=$HOME/flutter/bin:$PATH -DYLD_LIBRARY_PATH=MR/v99/runtime/maci64:MR/v99/sys/os/maci64:MR/v99/bin/maci64:$DYLD_LIBRARY_PATH -flakify() { - eval "$(direnv hook bash)" - if [ ! -e flake.nix ]; then - nix flake new -t github:nix-community/nix-direnv . - fi - $EDITOR flake.nix -} - ''; shellAliases = { ssh = "kitty +kitten ssh"; sshu = "ssh universe"; @@ -54,9 +46,6 @@ flakify() { btop cbqn-replxx - - podman - qemu ]); # Or any other shell you're using. }; # Auto upgrade nix package and the daemon service. From 0ebeac20d8c1ab4047033dfbac82b2d5481d2f4f Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:11:53 -0500 Subject: [PATCH 03/16] universeair: ReOrganize --- machines/universeair/configuration.nix | 49 ++++++++++++++------------ 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 1c49327..c944175 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -5,30 +5,37 @@ in ./app-fix.nix ]; nix.registry.nixpkgs.flake = inputs.nixpkgs; + nixpkgs.config.allowUnfree = true; + # Auto upgrade nix package and the daemon service. + services.nix-daemon.enable = true; + nix.package = pkgs.nixUnstable; + nix.settings.auto-optimise-store = false; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - users.users.universelaptop = { - name = "universelaptop"; - home = "/Users/universelaptop"; - }; - home-manager.users.universelaptop = { pkgs, ... }: { - programs.direnv.enable = true; - programs.direnv.nix-direnv.enable = true; - programs.bash.enable = true; - programs.zsh = { - enable = true; - shellAliases = { - ssh = "kitty +kitten ssh"; - sshu = "ssh universe"; - }; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.users.universelaptop = { + name = "universelaptop"; + home = "/Users/universelaptop"; + }; + users.universelaptop = { pkgs, ... }: { + programs.direnv.enable = true; + programs.direnv.nix-direnv.enable = true; + programs.bash.enable = true; + programs.zsh = { + enable = true; + shellAliases = { + ssh = "kitty +kitten ssh"; + sshu = "ssh universe"; + }; + }; + home.stateVersion = "22.05"; }; - home.stateVersion = "22.05"; }; + environment.variables = { EDITOR = "emacs"; }; - nixpkgs.config.allowUnfree = true; environment.systemPackages = (with pkgs; [ mac-emacs @@ -47,11 +54,7 @@ in cbqn-replxx ]); - # Or any other shell you're using. }; - # Auto upgrade nix package and the daemon service. - services.nix-daemon.enable = true; - nix.package = pkgs.nixUnstable; - nix.settings.auto-optimise-store = false; + # Create /etc/zshrc that loads the nix-darwin environment. programs.bash.enable = true; # default shell on catalina programs.zsh.enable = true; # default shell on catalina From 929259fc0d2aafe793804db188ff129a38ed71e0 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:25:45 -0500 Subject: [PATCH 04/16] universeair: nixify *almost* everything --- machines/universeair/configuration.nix | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index c944175..3254284 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -53,7 +53,30 @@ in btop cbqn-replxx - ]); + + # Graphical Apps: + firefox + rectangle + tailscale + discord + slack + # TODO: Consider using Yabai?? + ]); + + homebrew = { + enable = true; + # Graphical apps to install through homebrew instead of nixpkgs + casks = [ + "nextcloud" + "tidal" + ]; + # Apps to install outside of nix for when wanting to test/run + # things that... aren't used by other people who use nix, like + # python apps (which is why poetry is there) + brews = [ + "poetry" + ]; + }; # Create /etc/zshrc that loads the nix-darwin environment. programs.bash.enable = true; # default shell on catalina From c38803ae40fa5e14e64fdaa15008da6dc7e5b43d Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:27:39 -0500 Subject: [PATCH 05/16] universeair: Fix reorganization --- machines/universeair/configuration.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 3254284..7f22933 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -11,13 +11,13 @@ in nix.package = pkgs.nixUnstable; nix.settings.auto-optimise-store = false; + users.users.universelaptop = { + name = "universelaptop"; + home = "/Users/universelaptop"; + }; home-manager = { useGlobalPkgs = true; useUserPackages = true; - users.users.universelaptop = { - name = "universelaptop"; - home = "/Users/universelaptop"; - }; users.universelaptop = { pkgs, ... }: { programs.direnv.enable = true; programs.direnv.nix-direnv.enable = true; From 544ee898d1acdc0ddae6a58e915613d7d17ce96c Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:29:19 -0500 Subject: [PATCH 06/16] universeair: firefox (nix -> homebrew) not built for darwin (yet) --- machines/universeair/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 7f22933..b5a6139 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -55,7 +55,6 @@ in cbqn-replxx # Graphical Apps: - firefox rectangle tailscale discord @@ -67,6 +66,7 @@ in enable = true; # Graphical apps to install through homebrew instead of nixpkgs casks = [ + "firefox" "nextcloud" "tidal" ]; From b38f3c4bd598175a43459054fac5e040b5c38c93 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:34:10 -0500 Subject: [PATCH 07/16] universeair: document homebrew --- machines/universeair/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index b5a6139..a3e51e8 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -63,6 +63,8 @@ in ]); homebrew = { + # It is not installed by nix, for now, so manually install: + # https://brew.sh/ enable = true; # Graphical apps to install through homebrew instead of nixpkgs casks = [ From 59bb94dd8e5c1cb4ec9417c82d3a7d3873e4b043 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 12:02:27 -0500 Subject: [PATCH 08/16] universeair: Brew fix --- machines/universeair/configuration.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index a3e51e8..6a41c8e 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -24,6 +24,11 @@ in programs.bash.enable = true; programs.zsh = { enable = true; + initExtra = '' + if [[ $(uname -m) == 'arm64' ]]; then + eval "$(/opt/homebrew/bin/brew shellenv)" + fi + ''; shellAliases = { ssh = "kitty +kitten ssh"; sshu = "ssh universe"; @@ -66,6 +71,9 @@ in # It is not installed by nix, for now, so manually install: # https://brew.sh/ enable = true; + onActivation = { + cleanup = "uninstall"; + }; # Graphical apps to install through homebrew instead of nixpkgs casks = [ "firefox" From 5cf103d7daeb15a83bab62f62cb5e1c65d8796dc Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 12:59:08 -0500 Subject: [PATCH 09/16] universeair: Add Bitwarden --- machines/universeair/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 6a41c8e..f27f7f1 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -79,6 +79,7 @@ in "firefox" "nextcloud" "tidal" + "bitwarden" ]; # Apps to install outside of nix for when wanting to test/run # things that... aren't used by other people who use nix, like From 02b7ac7e7802a600ca2432d19afbc470acfad2ef Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 13:19:38 -0500 Subject: [PATCH 10/16] Tiling & Shortcuts:tm: --- machines/universeair/configuration.nix | 5 +++++ machines/universeair/sketchybar.nix | 27 ++++++++++++++++++++++++++ machines/universeair/skhd.nix | 7 +++++++ machines/universeair/yabai.nix | 12 ++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 machines/universeair/sketchybar.nix create mode 100644 machines/universeair/skhd.nix create mode 100644 machines/universeair/yabai.nix diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index f27f7f1..1da6f19 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -2,7 +2,12 @@ in { imports = [ + # Install Apps Detactable by Spotlight ./app-fix.nix + # Tiling Window Manager + ./yabai.nix + # Shortcuts babe, not Automator + ./skhd.nix ]; nix.registry.nixpkgs.flake = inputs.nixpkgs; nixpkgs.config.allowUnfree = true; diff --git a/machines/universeair/sketchybar.nix b/machines/universeair/sketchybar.nix new file mode 100644 index 0000000..555258a --- /dev/null +++ b/machines/universeair/sketchybar.nix @@ -0,0 +1,27 @@ +{config, pkgs, lib, ...}: { + services.sketchybar = { + enable = true; + config = '' +##### Bar Appearance ##### +# Configuring the general appearance of the bar, these are only some of the +# options available. For all options see: +# https://felixkratz.github.io/SketchyBar/config/bar +# If you are looking for other colors, see the color picker: +# https://felixkratz.github.io/SketchyBar/config/tricks#color-picker + +sketchybar --bar height=32 \ + blur_radius=30 \ + position=top \ + sticky=off \ + padding_left=10 \ + padding_right=10 \ + color=0x15ffffff + +##### Finalizing Setup ##### +# The below command is only needed at the end of the initial configuration to +# force all scripts to run the first time, it should never be run in an item script. + +sketchybar --update + ''; + }; +} diff --git a/machines/universeair/skhd.nix b/machines/universeair/skhd.nix new file mode 100644 index 0000000..ea9d060 --- /dev/null +++ b/machines/universeair/skhd.nix @@ -0,0 +1,7 @@ +{config, pkgs, lib, ...}: { + services.skhd = { + enable = true; + skhdConfig = '' + ''; + }; +} diff --git a/machines/universeair/yabai.nix b/machines/universeair/yabai.nix new file mode 100644 index 0000000..ee7b2e8 --- /dev/null +++ b/machines/universeair/yabai.nix @@ -0,0 +1,12 @@ +{config, pkgs, lib, ...}: { + imports = [ + # Custom Bar + ./sketchybar.nix + ]; + services.yabai = { + enable = true; + config = { + + }; + }; +} From a7f794f65b8b1cb9ee70a4bab55847ec9d20f4a7 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 13:55:24 -0500 Subject: [PATCH 11/16] universeair: (TODO) Configure SketchyBar --- machines/universeair/sketchybar.nix | 3 +++ machines/universeair/yabai.nix | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/machines/universeair/sketchybar.nix b/machines/universeair/sketchybar.nix index 555258a..0bcc8c8 100644 --- a/machines/universeair/sketchybar.nix +++ b/machines/universeair/sketchybar.nix @@ -1,4 +1,7 @@ {config, pkgs, lib, ...}: { + environment.systemPackages = with pkgs; [ + sketchybar + ]; services.sketchybar = { enable = true; config = '' diff --git a/machines/universeair/yabai.nix b/machines/universeair/yabai.nix index ee7b2e8..e1da76b 100644 --- a/machines/universeair/yabai.nix +++ b/machines/universeair/yabai.nix @@ -1,7 +1,11 @@ {config, pkgs, lib, ...}: { imports = [ # Custom Bar - ./sketchybar.nix + # ./sketchybar.nix + # TODO: Customize Bar Later + ]; + environment.systemPackages = with pkgs; [ + yabai ]; services.yabai = { enable = true; From fb83eb1e50f475708f2b2cc9b3ac21a593a04f07 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 13:59:11 -0500 Subject: [PATCH 12/16] universeair: Basic Yabai Config --- machines/universeair/yabai.nix | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/machines/universeair/yabai.nix b/machines/universeair/yabai.nix index e1da76b..7267bbf 100644 --- a/machines/universeair/yabai.nix +++ b/machines/universeair/yabai.nix @@ -10,7 +10,34 @@ services.yabai = { enable = true; config = { - + layout = "bsp"; + focus_follows_mouse = "autofocus"; + auto_balance = "on"; + + top_padding = 5; + bottom_padding = 5; + left_padding = 5; + right_padding = 5; + window_gap = 5; }; + + extraConfig = '' + yabai -m rule --add app='System Settings' manage=off + yabai -m rule --add app='Boot Camp Assistant' manage=off + yabai -m rule --add app='System Information' manage=off + ''; + }; + + # https://github.com/IvarWithoutBones/dotfiles/blob/main/modules/darwin/yabai/default.nix + # The scripting addition needs root access to load, which we want to do automatically when logging in. + # Disable the password requirement for it so that a service can do so without user interaction. + environment.etc."sudoers.d/yabai-load-sa".text = '' + universelaptop ALL = (root) NOPASSWD: sha256:${builtins.hashFile "sha256" "${pkgs.yabai}/bin/yabai"} ${pkgs.yabai}/bin/yabai + ''; + + launchd.user.agents.yabai-load-sa = { + path = [ pkgs.yabai config.environment.systemPath ]; + command = "/usr/bin/sudo ${pkgs.yabai}/bin/yabai --load-sa"; + serviceConfig.RunAtLoad = true; }; } From 18246d7d6708851166645ec71bba010785c5b989 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 14:56:22 -0500 Subject: [PATCH 13/16] universeair: SKHD Shortcuts, basic TODO: Yabai Shortcuts --- machines/universeair/skhd.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/universeair/skhd.nix b/machines/universeair/skhd.nix index ea9d060..76d9b77 100644 --- a/machines/universeair/skhd.nix +++ b/machines/universeair/skhd.nix @@ -2,6 +2,8 @@ services.skhd = { enable = true; skhdConfig = '' + cmd + shift - e : open ${pkgs.mac-emacs}/Applications/Emacs.app + cmd + shift + ctrl - e : open ${pkgs.kitty}/Applications/Kitty.app ''; }; } From d4d63db6d2f8d9612b4353c2ee3772e2254619e9 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 14:56:46 -0500 Subject: [PATCH 14/16] Update me-emacs input --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index b09c766..dcb4356 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ ] }, "locked": { - "lastModified": 1703003068, - "narHash": "sha256-cAp7UbrQTiPAfNhIO9DRs271RUJJHPyBYchDJ4wDMd4=", + "lastModified": 1706555256, + "narHash": "sha256-nBLS68TsIbwd04oQRISqk/xaehZYWzGNDmdBOWpKWXw=", "ref": "refs/heads/master", - "rev": "ed6e88d1069557f1e68aa769934f008cb6c1fed5", - "revCount": 45, + "rev": "d3452d3f0a30162a8acdf11f452ac0ef3a3f5670", + "revCount": 46, "type": "git", "url": "https://git.syzygial.cc/Syzygial/EmacsConfig.git" }, From 46fd3957534d3e4c5976a7b3b2e1a8efe5e85ed5 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 22:59:15 -0500 Subject: [PATCH 15/16] Basic Asahi (to be home manager) config --- flake.nix | 16 ++++++++++ machines/asahi/home.nix | 71 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 machines/asahi/home.nix diff --git a/flake.nix b/flake.nix index 71dff52..ae14736 100644 --- a/flake.nix +++ b/flake.nix @@ -35,6 +35,10 @@ # Will in future be macports based mac-emacs = me-emacs.packages."aarch64-darwin".emacs; }); + + pkgs_linux-x86_64 = nixpkgs.legacyPackages."x86-linux"; + pkgs_linux-aarch64 = nixpkgs.legacyPackages."aarch64-linux"; + in { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -76,5 +80,17 @@ } ]; }; + homeConfigurations."universelaptop" = home-manager.lib.homeManagerConfiguration { + pkgs = pkgs_linux-aarch64; + + # Specify your home configuration modules here, for example, + # the path to your home.nix. + modules = [ ./machines/asahi/home.nix ]; + + extraSpecialArgs = { + pkgs-x86_64 = pkgs_linux-x86_64; + inputs = attrs; + }; + }; }; } diff --git a/machines/asahi/home.nix b/machines/asahi/home.nix new file mode 100644 index 0000000..79b7f47 --- /dev/null +++ b/machines/asahi/home.nix @@ -0,0 +1,71 @@ +{ config, pkgs, ... }: + +{ + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "universelaptop"; + home.homeDirectory = "/home/universelaptop"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "23.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + home.packages = [ + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # pkgs.hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. If you don't want to manage your shell through Home + # Manager then you have to manually source 'hm-session-vars.sh' located at + # either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/universelaptop/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + # EDITOR = "emacs"; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +} From 741c033e01d99c80370a4cff4d3a2391bac99cf4 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 23:10:03 -0500 Subject: [PATCH 16/16] asahi: basic packages/plan --- machines/asahi/home.nix | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/machines/asahi/home.nix b/machines/asahi/home.nix index 79b7f47..69df72b 100644 --- a/machines/asahi/home.nix +++ b/machines/asahi/home.nix @@ -18,24 +18,15 @@ # The home.packages option allows you to install Nix packages into your # environment. home.packages = [ - # # Adds the 'hello' command to your environment. It prints a friendly - # # "Hello, world!" when run. - # pkgs.hello - - # # It is sometimes useful to fine-tune packages, for example, by applying - # # overrides. You can do that directly here, just don't forget the - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of - # # fonts? - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') + me-emacs + armcord + # TODO: Make home-manager module for loading x86_64 apps and automatically + # wrapping them in box64-asahi (page size change, like in Fedora repo) + # as well as, with override option, to enable support for box86/wine ]; + services.nextcloud-client.enable; + # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { @@ -63,7 +54,7 @@ # /etc/profiles/per-user/universelaptop/etc/profile.d/hm-session-vars.sh # home.sessionVariables = { - # EDITOR = "emacs"; + EDITOR = "emacs"; }; # Let Home Manager install and manage itself.