Commit graph

442 commits

Author SHA1 Message Date
d0a382baa9 meta: Add initial README.org
Fight me all you want, org-mode is the hill I build my castle on
2022-04-17 22:26:53 +05:30
0e066fc67d Bebop: Disable password login for openssh
It is never recommended to enable password authentication for ssh.

Although bebop is intended to always be accessed from local network, it is
indeed exposed to wider internet, and I don't want surprises here.

Also NixOS made declarative SSH addition and deployment so much easier and
friction-free that I don't even want this anymore.

For rare occasions where system breaks or something, I can just login the hard
way, via physical keyboard and disaply. Builds better habits too.
2022-04-17 22:04:26 +05:30
b74eda979b Fish: simplify abbreviations for bebop interaction 2022-04-17 22:03:44 +05:30
1a2fcc71c8 Enterprise: Use common-home module for home-manager 2022-04-17 22:03:27 +05:30
73be53cdb5 Bebop: Enable home-menager as NixOS module
This allows easy config of few applications/services

- git
- htop
- fzf
- neovim

* syncthing is not enabled yet. During previous experimentation it did not work,
so need to look more into it
2022-04-17 22:00:28 +05:30
2f27fcc181 flake.lock: 2022_04_17 2022-04-17 21:15:09 +05:30
04caa38ace Enterprise: Deploy Nix binary cache secret signing key declaratively via agenix 2022-04-17 18:13:36 +05:30
cbbcc7c4fd cleanup: Remove top-level hardware-configuration.nix
Hailing from days of yore, when imperative channels and non-flakes reigned, this
file was there, the first created in 2019.

Now that hosts and their individual hardware-configuration are seggregated in
their own little sub-directories, this file can finally be removed
2022-04-16 21:32:20 +05:30
b7a3e0c394 meta: Move nix.nix from top-level to modules directory
It makes sense
2022-04-16 21:31:56 +05:30
96127ad81e flake.lock: 2022_04_16 2022-04-16 21:23:17 +05:30
7a87d16513 Bebop: Disable wireless for now 2022-04-16 21:22:59 +05:30
d04c6581db Bebop: Change timezone to Asia/Kolkata (UTC+05:30) 2022-04-16 21:22:29 +05:30
fc37dfaa65 Cachix: Whitespace changes 2022-04-16 20:21:02 +05:30
ce5b5ada3a Fish: Add couple of aliases for nix-env system rollback/switch-generation
NOT tested
2022-04-16 20:20:30 +05:30
026b412e23 Fish: Add couple of aliases to interact with bebop remotely 2022-04-16 20:20:08 +05:30
3061442291 Build and deploy nixos from Enterprise to Bebop
- Generate binary cache signing keys on Enterprise
- Add private key to enterprise config for signing
- Add public key to Bebop for accepting packages signed by Enterprise
- Setup hosts files on both systems to include other host name at local reserved
  ip address
- Bebop: Enable OpenSSH access for root user
  - Via SSH only, NO password
  - Use same ssh public key as normal user
- Enterprise: Enable Qemu for compiling aarch64 pacakges

Deploy NixOS from enterprise to bebop with below:

```
nixos-rebuild boot --flake .#bebop -v --target-host root@bebop --build-host
localhost
```

Notice lack of sudo. Remote server does not ask for password for root (usually),
because it is supposed to use SSH key.

TODO: Add payas as trusted user in nix config for bebop so deploying via root is
not necessary. It is generally not best idea to expose root over network.
2022-04-16 20:12:15 +05:30
257d74eec6 Enterprise: Disable nvidia 2022-04-16 05:52:04 +05:30
6fa9d27889 Bebop: attempt to add ssh key too ssh-agent on every shell init 2022-04-16 05:50:18 +05:30
6bce1dce30 Enterprise: Use iwd instead of default wpa_supplicant for wifi management
iwd is supposed to be lightweight and only depend on kernel+glibc

It sounds nice, and so far it is working well enough. with one caveat:
   it cannot connect to Hidden networks.

Even with enabling the setting to connect to Hidden networks, which should have
worked, it just craps out on connecting my Hidden wifi.

For now, I'm inclied to try this thing out, so I just let my network brodcast
its SSID. We'll see how the experiment goes.
2022-04-15 22:48:25 +05:30
ce5d566329 Enterprise: Add hosts file entry for bebop with its fixed local IP 2022-04-15 22:05:48 +05:30
a40341725f Enterprise: Disable some big development packages that I am not using 2022-04-15 22:05:06 +05:30
7897d194e4 Bebop: attempt #2 to fix ssh-add 2022-04-15 13:32:31 +05:30
4d6490052c Bebop: Always start ssh-agent
For some reason, bebop requiers starting ssh-agent manually and add key after
every reboot. Apparently this is the fix to it.

It is expected to remember keys added once.
2022-04-15 12:35:33 +05:30
b577a0c90b Minor cleaup and comments 2022-04-15 12:28:30 +05:30
67ba724418 New module to hold config and packages common to all
While setting up Raspberry Pi, I realised there are some packages I consider
bare minimum, even for headless servers (that I own)

- NeoVim
- git
- ripgrep
- fd
- htop
- jq
- wget
- fzf
2022-04-15 12:25:40 +05:30
09240f7726 Enterprise: Disable nvidia GPU 2022-04-15 12:04:09 +05:30
3046d257ae Enterprise/Emacs: Add mu to emacspackages
supposedly allows using mu4e directly from stock emacs
2022-04-15 12:03:26 +05:30
626823c495 Bebop: Add Htop 2022-04-15 12:03:01 +05:30
c16c130e60 Bebop: Remove desktop environment
bebop is a raspberry Pi and intended to be a headless server for my home.

As such, it makes no sense for it to burn cycles or space for XServer or desktop environment.
2022-04-15 12:01:56 +05:30
33e1a05029 Bebop: Set user password outside NixOS config
I have not found a better way to make the user password setup declarative while
making it be included in config/store in encryoted format.

Perhaps agenix/sops-nix will be a fix, but I'll keep it for later
2022-04-15 11:58:53 +05:30
3e11013c7b Make Fish a common module instead of host specific module 2022-04-15 11:58:17 +05:30
bad999e00b bebop: Initial config
bebop is the Raspberry Pi hanging around my table utterly unused for close to a
year now. About time it saw some use as tiny home server.
2022-04-14 23:35:54 +05:30
970fd0a259 Minor comment and config cleanup 2022-04-11 14:06:10 +05:30
d05f277933 git: Change merge conflict style from diff3 to zdiff3 (zealous diff3) 2022-04-10 14:03:29 +05:30
4257e97752 Fonts: Remove FiraCode Nerd Font
I'm not using it, and builds 2 extra derivations during system rebuild.
2022-04-10 07:57:17 +05:30
52c34ef513 Disable nvidia 2022-04-10 07:21:03 +05:30
905a4cbad2 Minor readjustments and added comments 2022-04-10 00:08:39 +05:30
0446ce2d07 Move back to Emacs as standalone package instead of service
As before, modifying Emacs config has weird issues with doom+daemon.

Usually I have to restart emacs for any config changes to stick, and if there is
any issue or bug in my config, the daemon just craps out instead of giving any
good feedback. SO long, emacs the service, I'll probably never use you again.

Althoug I sure will miss lightning fast emacsclient opennigs
2022-04-10 00:06:29 +05:30
8ae17f5bad Clean up, rearrange and add comments in flake.nix
I could in theory just import all flake files from particular host, but so far
there aren't a lot of files in there, and I like the explicitness, and central
point of entry in flake.nix

Not sure what went wrong the last time I tried it. This seems to be working, so
I'll keep it and keep an eye for a while
2022-04-05 18:55:28 +05:30
18f39108dd flake.lock: 2022_04_05 2022-04-05 18:36:08 +05:30
4cb9f672d7 flake.lock: 2022_04_01 2022-04-02 20:59:39 +05:30
3257c99cc7 Nvidia: Enable nvidia GPU for Borderlands 2! 2022-04-02 20:59:20 +05:30
3d82146551 Fix for Borderlands 2: Add samba to steam-run packages
https://github.com/NixOS/nixpkgs/issues/126801
2022-04-02 11:05:16 +05:30
84d521358b Emacs: remove vterm 2022-04-01 23:56:37 +05:30
057a362336 Emacs: Remove vterm 2022-04-01 23:52:19 +05:30
de5b57bde6 flake.lock: 2022_03_31 2022-03-31 18:45:33 +05:30
0c0ee25679 Neovim: Enable orgmode plugin 2022-03-31 18:45:16 +05:30
bc30073596 Nvidia: Enable nVidia VAAPI drivers
These are experimental atm, but intel ones are also there and guaranteed to
work, so might not be an issue
2022-03-31 18:44:43 +05:30
bf1849416a Git: Set diff3 as default conflictstyle
Not that I ever interact with bare git conflicts, I always have magit or IDEA
gloves on while doing so, it is nonetheless a good habig to have this in the
config quiver.
2022-03-31 18:42:44 +05:30
21cff0f37a Git: Add new aliases and fish abbreviations for those aliases 2022-03-31 18:40:45 +05:30