aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.org19
-rw-r--r--configuration.nix41
-rw-r--r--flake.lock21
-rw-r--r--flake.nix11
-rw-r--r--home.nix2
5 files changed, 56 insertions, 38 deletions
diff --git a/README.org b/README.org
index c0b281f..a3eb947 100644
--- a/README.org
+++ b/README.org
@@ -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";
}
diff --git a/flake.lock b/flake.lock
index 34b8a7f..98441f5 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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"
diff --git a/flake.nix b/flake.nix
index 7812474..1502f99 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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;
diff --git a/home.nix b/home.nix
index 9d9330f..f53fe07 100644
--- a/home.nix
+++ b/home.nix
@@ -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"