diff options
-rw-r--r-- | README.org | 19 | ||||
-rw-r--r-- | configuration.nix | 41 | ||||
-rw-r--r-- | flake.lock | 21 | ||||
-rw-r--r-- | flake.nix | 11 | ||||
-rw-r--r-- | home.nix | 2 |
5 files changed, 56 insertions, 38 deletions
@@ -8,4 +8,21 @@ Because emacs is blocking, and I want to use wayland because it's much better an much less cruft. * Installation -Simply clone this repository to ~/etc/nixos/~ and run ~sudo nixos-rebuild switch~. +Simply clone the contents of this repository to ~/etc/nixos/~ and run ~sudo nixos-rebuild switch~. +Note that afterwards you will need a ~$HOME/.password-store~ in user ~preston~ which has +an entry named ~Mail~, as well as a ~~/org/website/~ directory made by cloning my +[[https://github.com/ret2pop/ret2pop-website][ret2pop website]] repository to that location. Here are all the commands: +#+begin_src shell + # run as root + # create backup of hardware-configuration.nix and put it back there after + git clone https://github.com/ret2pop/hyprnixmacs.git /etc/nixos/ + # put hardware-configuration.nix back in /etc/nixos + nixos-rebuild switch + su preston + # copy over gpg and ssh keys + git clone root@nullring.xyz:/var/git/password-store.git ~/.password-store/ + mkdir ~/org + git clone https://github.com/ret2pop/ret2pop-website ~/org/website/ + # get music and put it in ~/music +#+end_src +this process can be highly automated via [[https://github.com/nix-community/nixos-anywhere][NixOS Anywhere]]. diff --git a/configuration.nix b/configuration.nix index 524b94e..098c3a9 100644 --- a/configuration.nix +++ b/configuration.nix @@ -10,7 +10,7 @@ boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "continuity"; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # networking.wireless.enable = true; networking.networkmanager.enable = true; @@ -38,23 +38,24 @@ alsa.support32Bit = true; pulse.enable = true; jack.enable = true; - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) #media-session.enable = true; }; - # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; programs.zsh.enable = true; + + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINSshvS1N/42pH9Unp3Zj4gjqs9BXoin99oaFWYHXZDJ preston@preston-arch" + ]; + users.users.preston = { isNormalUser = true; description = "Preston Pan"; extraGroups = [ "networkmanager" "wheel" ]; shell = pkgs.zsh; packages = with pkgs; [ - # thunderbird ]; }; @@ -64,6 +65,8 @@ nixpkgs-fmt rnix-lsp light + curl + git ]; xdg.portal = { @@ -72,30 +75,6 @@ extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; config.common.default = "*"; }; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # 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 - # 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 = "23.11"; # Did you read the comment? + + system.stateVersion = "23.11"; } @@ -1,5 +1,25 @@ { "nodes": { + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709773529, + "narHash": "sha256-CNz9ybeR88j8QQxy7YNFa8RlNq3pWnXLvocWIt2n5Mg=", + "owner": "nix-community", + "repo": "disko", + "rev": "a2009bc2b4e1d3ff5360048292deb0d610aa064b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "disko", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -54,6 +74,7 @@ }, "root": { "inputs": { + "disko": "disko", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nur": "nur" @@ -5,15 +5,16 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; home-manager = { url = "github:nix-community/home-manager/release-23.11"; - # Here, `inputs.nixpkgs` of home-manager is kept consistent with - # the `inputs.nixpkgs` of the current flake, - # to avoid problems caused by different versions of nixpkgs. inputs.nixpkgs.follows = "nixpkgs"; }; nur.url = "github:nix-community/NUR"; + disko = { + url = "github:nix-community/disko"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = inputs@{ nixpkgs, home-manager, nur, ... }: { + outputs = inputs@{ nixpkgs, home-manager, nur, disko, ... }: { nixosConfigurations = { continuity = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -29,7 +30,7 @@ imports = [ ]; }) ./configuration.nix - + disko.nixosModules.disko home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; @@ -1072,7 +1072,7 @@ "$mod, F, exec, firefox" "$mod, Return, exec, kitty" "$mod, E, exec, emacs" - "$mod, v, exec, vencorddesktop" + "$mod, v, exec, Discord" "$mod, d, exec, wofi --show run" ", Print, exec, grimblast copy area" "$mod, Q, killactive" |