Commit Graph

659 Commits

Author SHA1 Message Date
Donovan Glover
d261262277
meta: Inline dwm config
Trying to override the values with callPackage here seemingly
didn't work, so inlining is necessary to use the color values from
`config`.
2024-08-29 20:12:23 -04:00
Donovan Glover
b3c8f55c69
meta: Merge dwm specialization with desktop
Long-term this could be an optional separate module but for now having
dwm as a backup to Hyprland is reassuring.
2024-08-29 01:40:10 -04:00
Donovan Glover
6116425dea
meta: Move stylix-background to separate package
Long-term this won't be necessary once backgrounds become optional in
stylix.
2024-08-29 01:24:01 -04:00
Donovan Glover
1901a33e87
desktop: Remove useless home-manager import
This didn't actually do anything since we don't make use of the
home-manager import inside the module.
2024-08-27 17:39:11 -04:00
Donovan Glover
a90dfb5a6f
desktop: Only include sakaya if x86_64-linux 2024-08-27 14:05:34 -04:00
Donovan Glover
83a82ab655
chore: Expand single item lists and attribute sets
These aren't collapsed by nix fmt anymore.
2024-08-27 13:05:29 -04:00
Donovan Glover
be5f0a6183
chore: Run nix fmt 2024-08-26 21:32:55 -04:00
Donovan Glover
c62a0694dd
shell: Replace color scripts with asciiquarium
asciiquarium is much cooler in this case. Note that sanctity is kept
since it's useful for debugging colors.
2024-08-26 14:05:50 -04:00
Donovan Glover
f7cd666a30
shell: Drop old sessionVariables
- GIT_DISCOVERY_ACROSS_FILESYSTEM shouldn't be needed anymore and was
  likely a skill issue in the past.
- NODE_OPTIONS should be set per-project instead of globally.
- GATSBY_TELEMETRY_DISABLED should also be set per-project, although the
  framework seems to be in standby mode currently.
2024-08-26 13:58:24 -04:00
Donovan Glover
75029f6d1d
chore: Prefer with pkgs; over attrValues
`with pkgs;` is okay to use as long as there isn't an "escaping with".
2024-08-25 21:29:37 -04:00
Donovan Glover
dd5eef5b77
virtualization: Drop WLR_NO_HARDWARE_CURSORS
Doesn't seem to be needed anymore for Hyprland.
2024-08-25 13:28:20 -04:00
Donovan Glover
31de8f1085
specializations: Drop gnome and plasma
I added specializations over a year ago when I was still new to NixOS
and trying out some of the many different features unique to it. These
days I don't need much more than a terminal and a web browser, and I
haven't used GNOME or Plasma in over a year at this point.

Nowadays everything I need from a computer I can accomplish with the
terminal. Nixpkgs trained me to dig deep into source code to figure out
how to do things, and using a PinePhone significantly improved my
awareness of how Linux interacts with hardware and how to configure it.

One of the biggest motivators for dropping these environments is that I
can't keep up with the changes that are made to GNOME and Plasma.
Hyprland has served my needs well and feels more stable since there
isn't a user interface that's constantly changing.
2024-08-24 21:28:11 -04:00
Donovan Glover
c00ebbd691
meta: Prefer home-manager module over env for bat
This works now that stylix switched to using the configuration file
instead of the environment variable.
2024-08-24 12:24:43 -04:00
Donovan Glover
aac5e7f999
meta: Prefer home-manager module over env for fzf 2024-08-24 12:16:36 -04:00
Donovan Glover
2b8fc665f6
meta: Prefer home-manager module over alias for ripgrep
Aliases should be avoided since they are only relevant to one shell.
2024-08-24 12:15:42 -04:00
Donovan Glover
1defdcf785
stylix: Inline base16 scheme 2024-08-23 23:28:33 -04:00
Donovan Glover
2b8602125f
system: Set default phone password to 1234 2024-08-18 16:59:55 -04:00
Donovan Glover
40aca5aff6
system: Don't inherit firefox-addons directly
Fixes an issue where firefox-addons wasn't available in the example
config.
2024-08-16 18:58:44 -04:00
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