Commit Graph

641 Commits

Author SHA1 Message Date
Donovan Glover
88eec9d0e9
shell: Replace fastfetch with microfetch
Faster and does the job well.
2024-08-16 17:49:57 -04:00
Donovan Glover
d38ef7b296
system: Always allow dnsmasq ports
Simplifies things a bit.
2024-08-16 15:13:41 -04:00
Donovan Glover
e8c2228e76
shell: Replace df with duf
Also removes du since it's easier to read the results of gdu, especially
on smaller devices like the PinePhone.
2024-08-16 12:53:36 -04:00
Donovan Glover
1cede2c75b
chore: Drop unused packages
Note that glib was supposedly added for mounting-related things, but
this should be possible to upstream into the derivation instead if it
hasn't been added already.
2024-08-16 12:52:25 -04:00
Donovan Glover
4e2fda8b4e
shell: Prefer with pkgs; over mkMerge 2024-08-16 03:09:33 -04:00
Donovan Glover
d012e06731
librewolf: Only enable friendlyfox on phone
Fixes an issue where the user interface would break on desktop devices.
2024-08-16 00:28:04 -04:00
Donovan Glover
d523816621
librewolf: Install yomitan by default
This works, which is great.
2024-08-15 23:41:07 -04:00
Donovan Glover
de7df4e114
hyprland: Drop unused mpv playerctl keybindings
I never ended up using these as much as I thought I would and getting
rid of them helps to simplify the code base a bit.
2024-08-15 22:40:20 -04:00
Donovan Glover
5c7a272877
system: Switch to mullvad package without gui
The GUI isn't needed anymore now that I'm able to deploy mullvad to new
phone systems without using it.
2024-08-15 21:48:01 -04:00
Donovan Glover
de6eb60ecb
system: Update from nix 2.22.3 to 2.24.2
Should enable us to take advantage of the new language features.
2024-08-15 21:35:15 -04:00
Donovan Glover
7b7028ed68
chore: Update to latest nixos-unstable release
- Removed ironbar overlay as it's no longer needed
- Removed broken packages that don't build with Ruts 1.80.0
2024-08-15 13:46:22 -04:00
Donovan Glover
b14eca2c55
system: Open dnsmasq ports with hotspot option
Makes it possible to connect to mobile hotspots. Now the PinePhone is
a lot more useful.
2024-08-15 11:04:35 -04:00
Donovan Glover
5f424194e1
shell: Replace wget / httpie with xh
The year is 2024 and httpie is no longer in fashion. httpie was broken
on NixOS anyway due to certificate verification errors, and wget is
unnecessary overall since scripts that depend on it have their own $PATH
with it available.

See: https://github.com/NixOS/nixpkgs/issues/94666
2024-08-13 16:55:01 -04:00
Donovan Glover
1344cf0c3e
system(ssh): Disable keyboard interactive authentication
Not necessary since we're using key pairs 100% now.
2024-08-12 06:39:19 -04:00
Donovan Glover
a3a8766ada
system: Enable ssh for all systems 2024-08-11 18:47:05 -04:00
Donovan Glover
f3855a5260
shell: Add nix-update / rustscan
rustscan is a nice alternative to nmap that's easier to use and doesn't
require the usage of sudo in certain situations.

nix-update is a nice script that makes updating the versions and hashes
of packages way easier than editing them by hand.
2024-08-11 18:19:37 -04:00
Donovan Glover
372f26662c
meta: Drop tectonic
It's better to be pragmatic here and not choose tectonic when texlive
works extremely well and without any of the problems one would encounter
with tectonic.

The future of tectonic is unfortunately a mystery as well, due to the
status of the GitHub repository and its dependence on the unmaintained
XeTeX.

See: https://tex.stackexchange.com/questions/593031/what-are-the-downsides-of-using-xetex/593217#593217
2024-08-11 16:18:44 -04:00
Donovan Glover
2ed939b083
meta: Replace zellij with tmux
Now that tmux works again, it makes sense to choose it over zellij due
to the vastly superior community support around it. Using tmux-256color
makes colors work properly in programs like htop, and neovim benefits
from squiggly lines and italics from kitty as well.
2024-08-11 13:54:32 -04:00
Donovan Glover
6c34cce882
treewide(nix): Remove duplicate attribute name usage
Found thanks to nixd showing different colors for these.
2024-08-10 20:55:46 -04:00
Donovan Glover
b74daeaeaf
desktop: Drop vagrant (again)
After having to use vagrant again after a while I've decided that it's
better to simply "do things the right way" the first time with the
declarative nature of Nix instead of trying to make install scripts
work.

Notably, the feedback loop between provisioning Vagrant boxes was
lacking compared to rebuilding on NixOS, and the virtual machine
frequently had to be destroyed and provisioned all over again, versus
having already built derivations with Nix.
2024-08-10 19:51:01 -04:00
Donovan Glover
45e7d727a0
chore: Run nix fmt 2024-08-09 13:29:15 -04:00
Donovan Glover
452bad7db6
specializations: Add base dwm specialization
Sometimes you really need to use a stable and reliable Xorg desktop
system. GNOME crashes when switching workspaces with osu! open, and
Plasma seems like too much for just wanting to run osu! without
having to worry about all the Wayland shenanigans decreasing fps.

I used bspwm for years however development has slowed down recently.
I've always liked dwm from trying it previously, and it is comforting
knowing that your window manager is minimal and will always work the
same way.
2024-08-08 21:26:42 -04:00
Donovan Glover
817629fb0a
chore: Update to latest nixos-unstable release 2024-08-03 19:44:23 -04:00
Donovan Glover
1c668bde68
chore: Format with nix fmt
nixfmt-rfc-style collapses lists like these.
2024-08-03 15:27:04 -04:00
Donovan Glover
a32f73a388
modules: Format with nixfmt-rfc-style 2024-08-03 14:40:07 -04:00
Donovan Glover
d963032159
treewide(stylix): Use withHashtag where possible 2024-08-03 13:28:03 -04:00
Donovan Glover
f73e302f2e
chore: Fix nixd / statix errors
I'm okay with editing hardware-configuration.nix now that I understand
how it works.
2024-08-03 01:52:47 -04:00
Donovan Glover
b397048a31
shell: Update package list
Dropped some extra cargo dependencies since I'd rather only use what's
available in cargo. Also added statix since it seems to catch some
things not found by nixd.
2024-08-03 01:38:30 -04:00
Donovan Glover
71bcb6fdcf
meta: Use wl-clipboard-rs on phone
Makes it easier to take screenshots since Phosh doesn't support
automatically saving screenshots by default.
2024-08-01 16:26:11 -04:00
Donovan Glover
2adb6a38e4
phone: Replace gnome-sound-recorder with asak
Terminal-based sound recording aligns more with my use case here.
2024-07-28 21:50:04 -04:00
Donovan Glover
5806fd96cf
chore: Drop unused packages
- kanjidraw: Online alternatives with radicals etc. are better
- dmenu-wayland: Breaks with multiple monitors
- obs: Easier to use wf-recorder
- wallust: Easier to use stylix
2024-07-25 16:55:10 -04:00
Donovan Glover
9a84af4535
shell: Drop cargo-edit
This was used for "cargo upgrade" however there have been major
improvements to cargo since I added this and dependabot on GitHub
handles this better anyway.

One major downside of cargo-edit was that it would take a very long time
for the initial upgrade to occur, which made me use "cargo update" more
anyway to avoid the long wait times.
2024-07-24 16:14:25 -04:00
Donovan Glover
a04be3defd
hardware: Suspend on power key press 2024-07-23 15:37:24 -04:00
Donovan Glover
47617c7c3a
desktop: Use vagrant with libvirtd
Sometimes it's necessary to spin up a virtual machine.

NixOS conveniently has libvirt support built-in, so virtualbox
isn't necessary.
2024-07-22 01:08:09 -04:00
Donovan Glover
e45b3b6af1
nix: Downgrade from nix 2.23.3 to 2.22.3
It turns out that nixVersions.latest is actually 2.23.3 now and this
version conveniently doesn't have the new homeModules attribute for
flake check backported yet, so we have to downgrade to 2.22.3 anyway.

See: 0a78a55d51
2024-07-18 19:39:03 -04:00
Donovan Glover
2de95cbfaf
Revert "nix: Use flake-programs-sqlite for command-not-found"
Would rather not deal with an additional flake input here to keep things
simple.
2024-07-18 14:32:14 -04:00
Donovan Glover
f1ee89ddc8
nix: Use flake-programs-sqlite for command-not-found
This was my attempt at using flake-programs-sqlite, which worked, but
requires an additional flake input in order to function properly.
2024-07-18 14:29:39 -04:00
Donovan Glover
26d01911e4
chore: Clean up nix code
- Added missing `services` prefix to xserver option
- Simplified options in system.nix
- Removed unused `optionals` binding
2024-07-18 13:31:13 -04:00
Donovan Glover
16258b3374
nix: Update version from 2.18 to 2.22
This should fix a few issues with Nix that were fixed in newer
versions.
2024-07-18 12:55:35 -04:00
Donovan Glover
b4d3190167
stylix: Dynamically generate wallpaper from color scheme
Fixes an issue where previously the background color would be incorrect
when the color scheme was changed, which was particularly noticeable on
Phosh where the background would display when toggling the on-screen
keyboard.

Note that the logo has been intentionally left out this time to simplify
things a bit.
2024-07-18 11:05:08 -04:00
Donovan Glover
61994a0cc3
shell: Replace neofetch with fastfetch
Faster and contains more useful information.
2024-07-17 15:28:27 -04:00
Donovan Glover
86a786cf1f
phone: Move phone-specific config out of system 2024-07-17 06:49:59 -04:00
Donovan Glover
3621b63e20
Revert "system: Generate man page caches on phone"
This actually increases the build time from about 1 minute and 45
seconds to 19 minutes and 15 seconds, which is a bit too long for
my tastes.
2024-07-17 06:44:05 -04:00
Donovan Glover
a177b0d9d8
system: Generate man page caches on phone
Shouldn't be too bad now hopefully.
2024-07-17 06:16:01 -04:00
Donovan Glover
591747784e
phone: Move containers config out of container module
We should explicitly enable it instead of conditionally disable it.
2024-07-17 05:55:17 -04:00
Donovan Glover
44cf7e6832
meta: Move phone-specific apps to host
Might turn this into a module later and use the standard
`module.enable = true` syntax.
2024-07-16 12:27:41 -04:00
Donovan Glover
fa16ccaada
chore: Update i18n.inputMethod options
i18n.inputMethod.enabled was changed to .enable and .type.
2024-07-16 12:25:06 -04:00
Donovan Glover
120047d37d
dual-function-keys: Drop all binds except caps lock as ctrl/esc
This should help avoid surprises when using other computers and simplify
things a bit. Note that super for the application launcher was cool but
now I prioritize launching applications from ironbar instead.
2024-07-15 20:32:20 -04:00
Donovan Glover
b877855580
dual-function-keys: Prefer media keys over Super+F1/F2
Should make these keys easier to use and understand.
2024-07-15 17:02:18 -04:00
Donovan Glover
65d8295a04
Revert "desktop: Use はちまるポップ font on phone"
This was an interesting experiment however it wasn't very practical
since text became difficult to read and the wider width of the font
broke a lot of programs on the small PinePhone screen.
2024-07-15 11:38:57 -04:00
Donovan Glover
9ce417830e
desktop: Don't bloat with phone conditionals
Should make things easier to manage now that we've technically tried
Hyprland with gestures but prefer Phosh for usability.
2024-07-15 11:37:31 -04:00
Donovan Glover
3ef29d27c2
meta: Add back hyprland to phone
Will be trying this again since Hyprland offers a substantial
performance improvement over Phosh and hardware accelerated videos
are broken anyway with the lower cpu speed.
2024-07-14 21:28:40 -04:00
Donovan Glover
051c903154
meta: Move phosh config to specialization
This is part of attempting to use Hyprland over Phosh (again) for
more control over things.
2024-07-14 21:12:03 -04:00
Donovan Glover
737d0e2d42
desktop: Use はちまるポップ font on phone
Might revert this later. Mainly used for context switching and to make
the PinePhone more fun to use.
2024-07-08 14:15:50 -04:00
Donovan Glover
5a5a522a70
chore: Move moved packages out of pkgs.gnome 2024-07-06 17:56:28 -04:00
Donovan Glover
2050b758ab
home-manager: Use string variable for notify-send
Since the variable has to be a string anyway, wrapping the entire
command in it reduces complexity a bit.
2024-07-06 11:17:57 -04:00
Donovan Glover
307a7fb543
home-manager: Use extraSpecialArgs for shared variables
Makes it possible to avoid inconsistencies with duplicate code.
2024-07-06 11:15:13 -04:00
Donovan Glover
b004639ea3
hardware: Remove disableLaptopKeyboard option
No longer needed since I've replaced the old laptop keyboard with one
that works.
2024-07-06 09:58:07 -04:00
Donovan Glover
ff461d9084
hardware: Remove unused sensor option 2024-07-05 17:41:14 -04:00
Donovan Glover
ad58ee22a6
stylix: Update to latest commit
Dropping the Kvantum fork for now to focus on staying up to date with
the recent Stylix developments.
2024-07-05 15:39:12 -04:00
Donovan Glover
6e4fc7df14
desktop: Remove unused programs 2024-07-04 23:50:46 -04:00
Donovan Glover
669de406a6
desktop: Add grim
Useful for screenshots in desktop environments that don't save
screenshots by default, such as Phosh.
2024-06-30 23:37:47 -04:00
Donovan Glover
bbed73b954
phone: Remove thunar
portfolio-filemanager is more usable on mobile.
2024-06-28 15:00:00 -04:00
Donovan Glover
299a5e0bd6
Revert "meta: Add attempt at using gnome-mobile" 2024-06-27 23:02:38 -04:00
Donovan Glover
961c2f1b62
meta: Add attempt at using gnome-mobile
This was my attempt at using GNOME Mobile. It works inside the x86_64
virtual machine but fails when reaching "Started Display Manager" on the
actual device.
2024-06-27 22:56:41 -04:00
Donovan Glover
99a570f9a4
phone: Continue dropping apps
The goal is to replace most of these with the terminal or the web
browser since GTK applications tend to be slower than both on the
PinePhone.
2024-06-26 20:21:55 -04:00
Donovan Glover
40090d7ef1
phone: Remove legacy hyprland
Unfortunately there are too many bugs for Hyprland on the PinePhone such
as hardware accelerated videos appearing red and convergence in general
being much slower than the phosh counterpart.
2024-06-25 10:55:38 -04:00
Donovan Glover
ce5093aa34
nix: opengl.driSupport32Bit -> graphics.enable32Bit
Necessary for the latest nixos-unstable release.
2024-06-25 10:52:27 -04:00
Donovan Glover
e36fcaf2c6
hardware: Drop phone configuration
We'll handle this directly in the phone configuration.nix instead since
it's simplified now.
2024-06-24 16:22:08 -04:00
Donovan Glover
a9ba67d449
phone: Continue dropping applications
Many of these things I can show in a custom fetch script when opening
the terminal.
2024-06-24 14:36:28 -04:00
Donovan Glover
26c79b093b
system: Use systemd config for phone
Should decrease startup times and prevent shutdowns from hanging.
2024-06-23 13:53:21 -04:00
Donovan Glover
abc61e5355
phone: Continue dropping unwanted applications
Most of these have a subpar mobile experience.
2024-06-23 13:52:48 -04:00
Donovan Glover
8bfc0ebf36
system: Always exclude gnome-tour
Should prevent gnome-tour from showing in phosh.
2024-06-23 09:46:56 -04:00
Donovan Glover
83740051ea
phone: Enable 100% zram
Shouldn't break anything. This is mostly a safeguard to ensure that
systemd didn't SIGSEGV and freeze last time due to memory concerns.
2024-06-23 09:45:10 -04:00
Donovan Glover
b2556260df
desktop: Continue removing unwanted mobile applications
Most of these applications are poorly designed for mobile,
don't start up at all, or aren't relevant for my use case.

Note that the correct `portfolio` application was actually
`portfolio-filemanager` in nixpkgs, and I removed it due to
the lack of thumbnailing support.
2024-06-21 20:43:05 -04:00
Donovan Glover
31ab36fe78
phone: Add mullvad support by disabling checkReversePath
`networking.firewall.checkReversePath` was being set to "loose" from
Mullvad VPN, which was causing an issue with the kernel used by the
PinePhone with Mobile NixOS.

By changing this option to `false`, we get rid of the "This kernel does
not support rpfilter" error, which seems to be inaccurate due to the
result of `sysctl -a | grep \\.rp_filter` on the phone being consistent
with the result on the laptop.
2024-06-21 20:34:09 -04:00
Donovan Glover
e030aa9687
phosh: Enable xwayland support
This fixes an issue where some applications would fail to open entirely
at the cost of lower quality graphics.
2024-06-21 18:47:26 -04:00
Donovan Glover
f51e8f8cf7
desktop: Remove unnecessary mobile applications
A lot of these applications are cute but I'd never end up using them,
such as a regular expression GUI and other novelties that web
applications accomplish in a more advanced manner.
2024-06-21 05:48:13 -04:00
Donovan Glover
26feb91693
desktop: Test some mobile applications
Committing this so I remember which programs I tested when experimenting
with GUI applications with mobile/touch support.

Derived from https://linuxphoneapps.org/packaged-in/nix-unstable/
2024-06-21 05:19:21 -04:00
Donovan Glover
79401e029b
system(nix): Forbid import from derivation
Helps prevent issues where we accidentally use an import from derivation
and cause flakes with multiple platforms to fail when running things
like `nix flake check`.
2024-06-20 22:33:59 -04:00
Donovan Glover
9bd004c3a8
nix: Avoid IFD by importing base16 scheme directly
This fixes an issue where previously the derivation had to be evaluated
before importing the base16 scheme, thus causing `nix flake check` to
fail when multi-platform support was added.

See: https://github.com/NixOS/nix/issues/4265
2024-06-20 21:58:16 -04:00
Donovan Glover
6b404306bf
meta: Only install texlive on desktop
Let's not write papers on the phone.
2024-06-20 13:50:16 -04:00
Donovan Glover
3e5a395dc8
containers: Don't enable on phone
Fixes an issue where the build would previously fail.
2024-06-20 13:49:39 -04:00
Donovan Glover
708bec1773
desktop: Add phone-specific applications
GNOME Console seems to be more user-friendly for touch compared to
kitty. Not all on-screen keyboards work out of the box with hyprland.
2024-06-20 13:42:54 -04:00
Donovan Glover
de2d3550d0
desktop: Add phosh support
This should make it easier to switch between hyprland and phosh.
2024-06-20 13:27:40 -04:00
Donovan Glover
abc5dfee07
desktop: Disable fcitx / udisks / pipewire for phosh 2024-06-20 13:19:32 -04:00
Donovan Glover
a9bebdc5f6
system: Only add phone groups when necessary 2024-06-20 13:18:39 -04:00
Donovan Glover
81cb06fc14
desktop: Don't inherit sakaya on phone
sakaya only has support for x86_64-linux.
2024-06-20 12:19:57 -04:00
Donovan Glover
c48a01ae7f
system: Don't generate man cache on mobile
Significantly improves build times with aarch64 emulation.
2024-06-20 12:16:03 -04:00
Donovan Glover
700f9aa564
hardware: Add IIO sensor support
Doesn't seem to work yet but shouldn't hurt to add for now.
2024-06-20 11:07:31 -04:00
Donovan Glover
0e95b81999
desktop: Add hyprland support to phone with legacyRenderer
Time will tell whether or not Hyprland will be preferred over phosh.
2024-06-19 19:54:33 -04:00
Donovan Glover
234b373dec
desktop: Add base phone support 2024-06-19 02:06:41 -04:00
Donovan Glover
8bb6a8a24e
system: Add groups from phone
Might reduce this later.
2024-06-19 02:04:47 -04:00
Donovan Glover
510ddfe9d7
hardware: Add phone support
This is untested but should work.
2024-06-19 02:03:02 -04:00
Donovan Glover
6ff271d4e2
system: Disable zram on phone for now
Testing whether or not SIGSEGVs are reduced as a result of disabling
zram.
2024-06-19 02:01:51 -04:00
Donovan Glover
16da2fd144
system: Add phone support 2024-06-19 02:00:34 -04:00
Donovan Glover
fb5c7849d0
system: Add wheel group to trusted users
Should prevent issues we ran into previously with things like
nixos-rebuild on remote hosts through ssh with non-root accounts.
2024-06-17 11:25:00 -04:00
Donovan Glover
000c9f2d90
system: Enable aarch64-linux emulation
This makes it possible to build the phone on the laptop, useful to
significantly reduce build times.
2024-06-16 07:43:56 -04:00
Donovan Glover
c0fc4fc4d0
desktop: Add back ringracers
Accidentally removed this without adding it back previously.
2024-06-16 06:20:55 -04:00
Donovan Glover
a629f92827
meta: Revert combining mobile-nixos flake
This was causing a lot of issues unfortunately presumably due to things
not working with the aarch64 PinePhone system. Random errors like
"expected string 'D'" were common and I'd rather use a separate flake to
make things easier to debug and keep evaluation times to a minimum.
2024-06-15 10:47:03 -04:00