Commit Graph

120 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Donovan Glover
8ceb1bf511
flake: Properly handle mobile-nixos module import
This was necessary to avoid issues with conditional imports.
2024-06-14 13:18:45 -04:00
Donovan Glover
05b14fa423
meta: Merge phone module with system / desktop 2024-06-14 01:21:46 -04:00
Donovan Glover
8d21fa5850
desktop: Add popsicle for flashing drives
It's a nice and simple GUI that helps avoid silly mistakes when flashing
drives.
2024-06-13 13:20:32 -04:00
Donovan Glover
b42540808b
meta: Patch latest nixos-unstable release with hyprland v0.41.0
This shouldn't cause too many issues.
2024-06-13 05:15:51 -04:00
Donovan Glover
96b3752117
hyprland: Lock version to v0.39.1-patched
Note that using a separate fork is necessary since overlaying flakes
seems to be non-trivial here.

Also note that previously the nixpkgs hyprland was being started from
greetd. This fixes that.
2024-06-12 14:50:44 -04:00
Donovan Glover
d187c6dd5b
desktop: Remove logseq
I don't use logseq anymore and am removing large programs to reduce
the closure size.
2024-05-31 11:54:34 -04:00
Donovan Glover
c40055a515
packages: Remove chromium from global $PATH
Not interested in maintaining this globally when I only need it for
testing, so I'd rather have it only available inside a devShell if
necessary.
2024-05-26 06:36:09 -04:00
Donovan Glover
3983219a7f
nerdfonts: Only include Noto fonts
This reduces the closure size by 8 GB without changing anything else.
2024-05-26 05:24:31 -04:00
Donovan Glover
372811f651
modules(desktop): Add graphical option for containers
xserver is required to make GUI applications run inside containers.
2024-05-19 11:18:39 -04:00
Donovan Glover
b5b20c7b19
tests: Test neovim with config
Fixes an issue where previously the home-manager config for neovim
wasn't actually being tested.
2024-05-19 00:45:55 -04:00
Donovan Glover
08cc18133d
ironbar: Add battery indicator support with upower
It turns out that I'd rather have a battery indicator than having to
`cat /sys/class/power_supply/BAT0/capacity` all the time.

Depends on upower and results in the battery indicator always being
shown even when virtualized.
2024-05-13 11:06:18 -04:00
Donovan Glover
65c815d155
phinger-cursors: Downgrade from 2.0 to 1.1 (again)
2.0 introduces some kind of breaking change that results in the cursor
appearing larger than usual, which I haven't been able to find an answer
for. The 1.1 cursor has been great already, so I'll probably stick with
that until further notice.
2024-04-18 21:30:27 -04:00
Donovan Glover
6826ef0307
phinger-cursors: Upgrade to 2.0 with phinger-cursors-dark
The new archive comes with a phinger-cursors-dark directory instead of
a phinger-cursors directory, which was a breaking change.
2024-04-18 20:28:29 -04:00
Donovan Glover
3c186055a5
chore: Improve formatting 2024-04-11 05:34:49 -04:00
Donovan Glover
bfd55ef40a
chore(nix): Inherit builtins at bottom 2024-04-09 09:19:29 -04:00
Donovan Glover
9fa0aa4206
desktop: Add options for theme/opacity/fontSize 2024-04-07 12:30:50 -04:00
Donovan Glover
1173e8483b
meta: Drop /share/fonts pathsToLink
Shouldn't be necessary with the usage of fonts.packages.
2024-04-07 10:13:08 -04:00
Donovan Glover
006a3592e6
feat: Fix crackling audio inside containers
It turns out that enabling hyprland inside the container causes this to
happen. I've also disabled greetd for good measure.
2024-04-06 19:35:57 -04:00
Donovan Glover
00135526e7
desktop: Support japanese/wine by default
Simplifies things a bit since my target audience includes those
interested in the Japanese language. Opinionated defaults like this
makes it easier for end-users to be immediately productive without
having to spend time configuring things.
2024-04-06 13:43:28 -04:00
Donovan Glover
a7821f7027
chore: Fix usage of argument not present in container
nix-config must be used when referencing flake inputs to make it
possible to use the same module inside containers.
2024-04-06 12:27:27 -04:00
Donovan Glover
7649c658b7
meta: Merge packages module into existing modules 2024-04-06 11:49:03 -04:00
Donovan Glover
10bc64f097
chore: Attempt to organize packages a bit
Not perfect but good enough.
2024-04-06 10:19:18 -04:00
Donovan Glover
5bc853c489
chore: Fix specializations evaluating as sets 2024-04-06 09:44:40 -04:00
Donovan Glover
8464d87cc9
meta: Merge specializations with desktop
This makes sense since the specializations are desktop-centric.
2024-04-06 08:30:54 -04:00
Donovan Glover
7a8fdd7259
chore: Improve formatting 2024-04-05 19:01:41 -04:00
Donovan Glover
e2e8971eb3
chore: Simplify variable usage
Changes made:

- Preferred "inherits" where possible
- Removed unnecessary comments
- Added variables to avoid duplicate strings
- Reduced usage of "with x;"
2024-04-05 13:30:39 -04:00
Donovan Glover
22e31ff60b
chore: Format with nixpkgs-fmt
Note that we will continue to use nixpkgs-fmt for the time being here
since nixfmt-rfc-style breaks string syntax highlighting and comments
like `/* this */` get turned into `# this`.

The conversion from lisp-like formatting to something else in flake.nix
is a bit unfortunate, but I'd rather have a singular style for the
entire code base to make things easier.
2024-04-05 11:40:23 -04:00
Donovan Glover
59f557a3e5
feat: Pass nix-config as self to avoid infinite recursion
This change makes it possible to use this nix-config in all the
different ways imaginable (containers, bare metal, tests, and as a
separate flake input) *without* running into infinite recursion
issues with self.

It does this by using a trick similar to JavaScript in which
`var self = this;`, thus enabling the usage of "this" (or self, in
Nix's case) where it wouldn't otherwise be possible.

Note that this *only* works if the input for this repository is named
nix-config. This makes it impractical to combine with multiple
configurations that employ the same strategy.
2024-04-05 10:20:06 -04:00
Donovan Glover
b368817c52
feat: Simplify imports by importing with specialArgs
This change makes it possible to import the modules that are required
from the flake inputs in the output modules themselves, thus preventing
users from having to manually import those modules.

This simplifies things overall and was made possible by the specialArgs
option that allowed these flake inputs to be passed into our container.
2024-04-05 09:37:30 -04:00
Donovan Glover
37aa1cac4c
greetd: Fix time format for exotic locales
Fixes an issue where the Japanese locale would prevent the datetime from
showing properly at the top.
2024-04-05 07:13:10 -04:00
Donovan Glover
7b234dfb19
chore: Add missing inherit
Also fixes an issue with mkMerge requiring things to be written
like this.
2024-04-05 07:10:30 -04:00
Donovan Glover
db5b95e983
nix: Prefer let-in over with
Fixes an issue where it's possible to write code that the linter thinks
is valid since with; is used.
2024-04-04 20:05:10 -04:00
Donovan Glover
b46c9a05a9
meta: Continue modularizing packages
Should make it easier to know what's what.
2024-04-04 20:03:31 -04:00
Donovan Glover
7f05a66fa5
feat: Make username customizable
Now it's possible to use whatever username you want for your system. The
default value of "user" is good if you're concerned about information
disclosure attacks through things like the username being visible in
logs or other output.
2024-04-04 16:36:28 -04:00
Donovan Glover
a03963d1f7
meta: Merge wine module with desktop
Makes it easier to just import the desktop module and use everything we
want.
2024-04-04 12:19:47 -04:00
Donovan Glover
cd5f0793d7
meta: Merge stylix module with desktop
This continues the process of simplifying the available modules for
end-users. The final result would be having a clear set of modules like
"desktop" and "shell" that can be enabled if users want a complete
Hyprland environment or a complete shell environment.

Enabling the stylix module "only" would be a low-tech solution and at
that point it'd likely be better for end-users to take complete control
of their stylix config with their own module.
2024-04-04 11:15:39 -04:00
Donovan Glover
dab608bb6c
meta: Merge thunar module with desktop
Thunar is an opinionated file manager that we're using as the GUI
application of choice because it handles directories with large files
*significantly* better than Nautilus. It also supports image previews
for files that have been trashed, as well as a slew of other convenience
features such as a built-in auto-renaming tool.
2024-04-04 10:14:15 -04:00
Donovan Glover
a1b9cf218d
meta: Begin migrating packages to workflow-specific modules
Long-term this should make it easy to include all the GUI programs with
the desktop module and all the CLI programs with the shell module, as
well as the ability to easily disable sets of unneeded packages.
2024-04-04 08:12:16 -04:00
Donovan Glover
dae5ca4b03
meta: Rename hyprland module to desktop
This is the start of making it possible to include desktop-related
configuration options instead of only hyprland-related ones.

This simplifies things a bit since opinionated configurations can be
hidden behind an option and end users won't have to worry about all
the different possible modules they could import.
2024-04-04 05:45:12 -04:00
Donovan Glover
9e11cb4278
Simplify modules to home.nix
I *may* abstract this in the future, but for now I have no reason to.
2023-05-11 19:14:59 -04:00
Donovan Glover
341d3aeae5
Remove rofi
This is an experiment to see if I prefer launching everything from the
terminal to get a more tty-like feel.
2023-05-11 18:53:43 -04:00
Donovan Glover
317c7b5dc6
fish: Fix export syntax 2023-05-11 17:48:01 -04:00
Donovan Glover
0038165390
Nixify fish config
Note that the home manager module isn't used here since the resulting
config.fish made fish noticeably slower on startup.
2023-05-11 17:19:21 -04:00
Donovan Glover
c45a96764f
nix: Continue nixification 2023-05-11 12:56:13 -04:00
Donovan Glover
5322fc02b8
nix: Nixify more dotfiles 2023-05-11 07:30:58 -04:00
Donovan Glover
0d0c00f1d9
nix: Nixify feh
Although it would be nice to use a Wayland image viewer, currently all
of them (that I am aware of) suffer from anti-aliasing issues not present
in feh.
2023-05-11 00:46:26 -04:00
Donovan Glover
ac3769d21c
nix: Nixify dunst 2023-05-11 00:29:03 -04:00
Donovan Glover
10908e340b
feat: Add xdg-user-dirs support 2023-05-10 14:37:42 -04:00
Donovan Glover
5230741e65
feat: Add mpd/ncmpcpp 2023-05-10 13:51:21 -04:00
Donovan Glover
cd32ad2e27
feat: Add gtk config 2023-05-10 13:51:05 -04:00
Donovan Glover
176a8b6597
feat: Add dunst support 2023-05-10 12:52:58 -04:00
Donovan Glover
88ccef09b3
feat: Add bat support 2023-05-10 12:52:45 -04:00
Donovan Glover
0d23db84da
feat: Start kitty from thunar 2023-05-10 12:52:23 -04:00
Donovan Glover
680668ede2
feat: Migrate xresources and cursor theme to nix 2023-05-10 12:52:02 -04:00
Donovan Glover
7dcaa2378e
fix: Migrate remaining kitty config to nix 2023-05-10 12:50:16 -04:00
Donovan Glover
c0377103bd
fix: Remove alacritty
Alacritty does not support MapleMono-NF as a font, whereas kitty does.
kitty also has other nice features such as built-in windows/tabs and
image support.
2023-05-10 11:50:15 -04:00
Donovan Glover
15b231a157
feat: Add zathura config
Note that loading a runtime file in ~/.cache/wal is no longer necessary
since configuration is done declaratively through Nix.

Although this has some downsides, such as the lack of "live reloading"
in some applications, this "feature" wasn't present across all
applications anyway.
2023-05-10 11:44:21 -04:00
Donovan Glover
4df1d91e19
fix(waybar): Use waybar-hyprland from flake
This fixes an issue where wlr/workspaces is considered experimental in
waybar and thus does not work with the current nixpkgs version on NixOS.

References:
- https://github.com/Alexays/Waybar/issues/1766
- https://github.com/hyprwm/Hyprland/discussions/1729
2023-05-09 22:40:06 -04:00
Donovan Glover
e1d740fb63
nix: Abstract hyprland config into separate module
This should make it easy to switch between hyprland and other
environments if wanted.
2023-05-09 14:04:01 -04:00