Commit Graph

289 Commits

Author SHA1 Message Date
Gabriel Arazas
14c10abded profiles/editors: update Emacs to use nativeComp branch 2022-07-14 08:04:13 +08:00
Gabriel Arazas
65a408b56d themes/a-happy-gnome: add packages and more ibus engines 2022-07-14 08:00:13 +08:00
Gabriel Arazas
9194427530 profiles/system: improve upon existing attributes 2022-07-14 07:59:18 +08:00
Gabriel Arazas
530da5c878 profiles/i18n: init NixOS module 2022-07-14 07:58:39 +08:00
Gabriel Arazas
8b4690fc73 profiles/i18n: add more fonts for home configs 2022-07-13 21:50:31 +08:00
Gabriel Arazas
bc77582418 tasks: update the device info 2022-07-13 19:14:45 +08:00
Gabriel Arazas
a916d78f09 profiles/services: remove path assertions
It was supposed to create the directory if it wasn't found which is
self-defeating. In any case, it will still fail if the directory is in
the way of an unmounted device.
2022-07-13 19:11:33 +08:00
Gabriel Arazas
4708d7acc2 profiles/system: refactor to remove inputs attr
This is to reduce burden in case I want to support importing my
config through traditional channels.
2022-07-13 19:10:15 +08:00
Gabriel Arazas
6f3685f5b1 tasks/backup-archive: use no local archive anymore
It is no more than a safety net and an expensive one at that. A
dedicated external storage media would be better. Ideally, hosts should
have a snapshotting system with btrfs or similar but it is what it is
for now.
2022-07-10 05:43:32 +08:00
Gabriel Arazas
eebaf93938 docs: update READMEs and comments 2022-07-09 14:04:17 +08:00
Gabriel Arazas
30c7ee0203 profiles/agenix: move into default config 2022-07-09 14:01:37 +08:00
Gabriel Arazas
7ad9a62f2c profiles/users: move as a library function 2022-07-09 14:00:51 +08:00
Gabriel Arazas
747a78b6d9 profiles/system: update store optimization to occur weekly 2022-07-09 10:52:54 +08:00
Gabriel Arazas
95d30dbdcf profiles/dev: fix custom functions... again 2022-07-09 10:52:54 +08:00
Gabriel Arazas
3d9494d92a flake.nix: update default NixOS config with home-manager options 2022-07-09 07:08:27 +08:00
Gabriel Arazas
1929f406ca profiles/desktop: remove yabridge packages temporarily 2022-07-08 09:39:34 +08:00
Gabriel Arazas
c46091d455 profiles/system: update font list 2022-07-08 07:28:59 +08:00
Gabriel Arazas
ff18237d0b profiles/dev: improve custom functions 2022-07-08 06:27:12 +08:00
Gabriel Arazas
873742d33c profiles/system: improve Flatpak installation 2022-07-07 22:34:57 +08:00
Gabriel Arazas
dcb13fd3ef tasks/backup-archive: update to new repo and description 2022-07-06 07:46:40 +08:00
Gabriel Arazas
91b31d6d30 profiles/dev: update dev.shells to add Bash as preferred shell 2022-07-06 07:46:40 +08:00
Gabriel Arazas
c714ef7237 docs: update the READMEs 2022-07-06 07:46:40 +08:00
Gabriel Arazas
024102c45c home-manager/foo-dogsquared: get config into home
Now that I have time, I've learnt that Git submodules are not supported
well with flake-based setup. Instead, I'll use my dotfiles repo as one
of the inputs as a non-flake which is exactly what I want. NICE!
2022-07-06 07:46:40 +08:00
Gabriel Arazas
6695c4f02f tasks/multimedia-archive: update setup and add ArchiveBox 2022-07-06 07:46:40 +08:00
Gabriel Arazas
ff6f652641 services/archivebox: create service 2022-07-06 07:46:40 +08:00
Gabriel Arazas
d111304d71 nixos/services: add path assertions 2022-07-06 07:38:21 +08:00
Gabriel Arazas
bde3ef040f profiles/system: remove selfPath
It was the wrong value so we'll remove it.
2022-06-26 08:45:57 +08:00
Gabriel Arazas
fbda6c94ff profiles/dev: replace hexchat with treefmt 2022-06-12 13:50:30 +08:00
Gabriel Arazas
d60decf109 themes/a-happy-gnome: update module and config 2022-06-11 12:50:50 +08:00
Gabriel Arazas
3438f4392e profiles: update various profiles 2022-06-09 13:00:23 +08:00
Gabriel Arazas
ab1222abb3 services/mopidy: remove service
It is now upstreamed into home-manager so yay!
2022-05-21 09:50:55 +08:00
Gabriel Arazas
d586fba900 update profiles and user configs 2022-05-20 14:47:09 +08:00
Gabriel Arazas
8448f511d8 themes/a-happy-gnome: update theme module
Now, it properly integrates installed extensions by automatically
generating a separate dconf keyfile and enabling them individually.
There is also an additional option for setting the preferred terminal
emulator instead of manually setting certain things on the appropriate
keyfile (though, it doesn't work so...).
2022-05-20 14:21:11 +08:00
Gabriel Arazas
1c3ca96c1a programs/cardboard-wm: init module
It is broken though because it cannot set things correctly. That may
have something to do with the lack of setup like certain services are
disabled or something. I'll just need help from the Cardboard
maintainers for this.
2022-05-13 12:56:11 +08:00
Gabriel Arazas
7ec58315c1 update various files 2022-04-30 20:31:11 +08:00
Gabriel Arazas
8b839ca866 tasks/multimedia-archive: update extra arguments 2022-04-29 16:55:30 +08:00
Gabriel Arazas
cffc206eb4 services/gallery-dl: update hardening options 2022-04-29 16:55:09 +08:00
Gabriel Arazas
c9d497c3fc services/yt-dlp: update hardening options 2022-04-29 16:54:36 +08:00
Gabriel Arazas
c86182d53a tasks/multimedia-archive: update
It now includes a yt-dlp script that includes the arguments as an extra
package. This is nice for custom downloads with the same preferences for
downloading.
2022-04-22 13:16:24 +08:00
Gabriel Arazas
b50b53238c services/gallery-dl: fix script and options 2022-04-22 13:14:02 +08:00
Gabriel Arazas
c0dd8ab1a8 services/yt-dlp: fix service working directory
There is the `--paths` option for that purpose. It also eliminates the
workaround for creating the directory before starting the service for
newly-bootstrapped systems.

The several hardening options have also been corrected.
2022-04-22 13:13:48 +08:00
Gabriel Arazas
f21c92a5b7 themes/knome: create theme
Finally decided to try out KDE Plasma for a little while (at least a
week from now). It is said to be flexible so I'll attempt to recreate my
workflow from GNOME as closely as possible.
2022-04-17 22:34:14 +08:00
Gabriel Arazas
d14fc861f2 themes/a-happy-gnome: update config for GNOME 42 2022-04-17 22:33:04 +08:00
Gabriel Arazas
5e67e452f6 tasks/multimedia-archive: init service 2022-04-17 22:33:04 +08:00
Gabriel Arazas
560e296532 services/yt-dlp: harden the service 2022-04-17 22:33:04 +08:00
Gabriel Arazas
10b3d01424 services/gallery-dl: harden the service 2022-04-17 22:33:04 +08:00
Gabriel Arazas
9f6cef56f8 profiles/system: add auto-upgrade option 2022-04-17 22:33:04 +08:00
Gabriel Arazas
7ae53c1563 profiles/desktop: rename into profiles/system
It is causing some confusion since it is slowly gaining some
non-desktop-related functions too. A rename would be appropriate now.
2022-04-17 11:00:38 +08:00
Gabriel Arazas
c0969ee5c7 gnome-shell-extension-desktop-cube: remove package
Similar to burn-my-windows, it is up-to-date in the nixpkgs repo so it
is unnecessary.
2022-04-15 21:00:40 +08:00
Gabriel Arazas
1639f920c9 gnome-shell-extension-burn-my-windows: remove package
It is up-to-date from nixpkgs so it is unnecessary at this point.
2022-04-15 21:00:36 +08:00
Gabriel Arazas
49018fb53e modules: reformat and refactor 2022-04-06 10:48:29 +08:00
Gabriel Arazas
fe94062d2e profiles/research: add more applications for it 2022-04-03 10:24:10 +08:00
Gabriel Arazas
aa690de222 services/bleachbit: add withChatCleanup option
Comes along a refactoring of the code. Didn't realized `let` is a thing
back then. Whoops...
2022-04-03 10:20:54 +08:00
Gabriel Arazas
6e214feb4a services/yt-dlp: init service
Structure-wise, it is pretty similar to the gallery-dl service. It was
about to be combined into a bigger service module as a dedicated service
for multimedia archiving but it is better to have them modularized in
the long run.
2022-04-03 10:18:22 +08:00
Gabriel Arazas
e0bba5655b services/gallery-dl: init service
Both for home-manager and NixOS, this time. Because I find use for both
of them, especially if you have a dedicated server for NixOS.
2022-04-03 10:10:29 +08:00
Gabriel Arazas
1e73f53f36 rename hardware-setup to tasks
It isn't really hardware-specific anymore and it is better to put them
all under in one basket. This is similar to my Ansible playbooks setup.
2022-03-31 13:59:54 +08:00
Gabriel Arazas
316953debd profiles/archiving: add programs to the list 2022-03-28 08:20:02 +08:00
Gabriel Arazas
e5c6708f64 themes/a-happy-gnome: update XDG prefs and add kitty 2022-03-28 08:19:12 +08:00
Gabriel Arazas
ac91cdc053 archivebox: update the service module
It can now add and schedule archiving tasks. Since archivebox will use
Crontab module (which uses `/usr/bin/crontab`), the scheduling with the
interface is out of the question. What better way to make it possible
than creating a home-manager module for it?
2022-03-21 10:06:23 +08:00
Gabriel Arazas
998f408fb2 plover: init service 2022-03-09 21:06:27 +08:00
Gabriel Arazas
272ff3ca6d nixos/themes/a-happy-gnome: update list of applications 2022-02-24 11:46:50 +08:00
Gabriel Arazas
e79460b3af nixos/services/borgmatic: remove service
It is not needed anymore since all of my backup procedures are now done
with the NixOS borg service.
2022-02-23 14:02:24 +08:00
Gabriel Arazas
207a682045 backup-archive: switch to NixOS borg module
While Borgmatic is great, the NixOS module does have easier
configuration for various use cases such as backups in removable
devices. To make this possible in Borgmatic, you have to go through some
loops.

Borgmatic does have easier way of indicating paths. However, in recent
versions of Borg, they have the experimental feature of indicate both
include and exclude through patterns which is close enough.

Also, because of this, we'll be deprecating the custom borgmatic service
at this point. It'll be removed once all of my NixOS-related backup
setups are not using it.
2022-02-19 16:58:08 +08:00
Gabriel Arazas
1d7f318696 Clean up files 2022-02-11 12:31:44 +08:00
Gabriel Arazas
c753ff5294 Update various files 2022-02-05 18:58:42 +08:00
Gabriel Arazas
d5c914f127 modules/nixos/themes: fix assertion
Whoops... brain fart. :/
2022-02-04 20:43:42 +08:00
Gabriel Arazas
2415514ab1 modules/nixos/themes/a-happy-gnome: update config 2022-02-04 16:38:52 +08:00
Gabriel Arazas
0f3d7fc7f6 modules/nixos/themes/a-happy-gnome: update theme
* Several extension configurations has been updated.
* It has a built-in extension for workspace rules?!
* More extensions!
2022-02-02 12:32:08 +08:00
Gabriel Arazas
905b5680b1 Clean up the files 2022-02-02 12:27:32 +08:00
Gabriel Arazas
4ec2730ad8 host/ni: use Guix module from guix-overlay 2022-02-02 12:27:32 +08:00
Gabriel Arazas
5f3e9a4022 modules/home-manager/services/mopidy: refactor and update 2022-01-31 07:58:16 +08:00
Gabriel Arazas
4800a803bd modules/home-manager/services/recoll: init service 2022-01-31 07:57:38 +08:00
Gabriel Arazas
a6a4b2b1e1 Update various files 2022-01-25 09:32:17 +08:00
Gabriel Arazas
8608009146 nixos/themes/a-happy-gnome: Refactor and fix dconf keyfiles 2022-01-20 16:17:15 +08:00
Gabriel Arazas
342a077f04 home-manager/services/mopidy: Simplify the service
Now, the configuration is made into a proper Nix configuration with the
output being converted to INI format.

For mapping the types, look for `mopidy/config/types.py`. The only
quirky mapping so far is the list type.
2022-01-20 16:12:48 +08:00
Gabriel Arazas
0f31e8b361 modules/nixos/services/guix: add Guix binary installation service 2022-01-19 09:53:55 +08:00
Gabriel Arazas
def1a4a9a4 Update miscellaneous parts of the configuration 2022-01-12 11:03:31 +08:00
Gabriel Arazas
3d2076dabb Add nix-alien for NixOS-related configurations 2022-01-12 10:45:06 +08:00
Gabriel Arazas
7db21c9fc5 Format the files through nixfmt 2022-01-11 20:22:08 +08:00
Gabriel Arazas
d0a87597c5 Make minor adjustments to several modules 2022-01-11 20:19:54 +08:00
Gabriel Arazas
66dbda3561 Create mopidy home-manager module
It is just an adapted version from the NixOS module. I'll eventually
figure out how to be 'properly configured' with the Nix language through
the `lib.generator`.
2022-01-11 20:15:05 +08:00
Gabriel Arazas
dda3974ee7 Update "A happy GNOME" theme
- The custom dconf is now placed as a keyfile in the appropriate
  directory.

- Add more packages to the theme module.

Update GNOME 2
2022-01-09 20:06:05 +08:00
Gabriel Arazas
6b481a163a Restructure the modules
While it is easier to maintain the modules by prefixing them all with
`modules`, it is not easy when used from other flakes and/or modules.
This is my attempt on making it easier with appropriate namespaces.

Update home-manager user from the restructure
2022-01-09 19:44:09 +08:00
foo-dogsquared
916c231bbb Update bleachbit module in home-manager
Now the browser-related cleaners are separated from the default cleaner
lists and has to be activated with `withBrowserCleanup` option.

Browser caches cleanup are also added as part of the updated module.
2022-01-02 09:29:48 +08:00
foo-dogsquared
f107560769 Create a new of borgmatic NixOS service
Based from the original but only the service fully baked in with Nix
instead of importing the sample service and timer unit file into
systemd.
2022-01-01 20:17:20 +08:00
foo-dogsquared
ae722324f5 Update documentation 2021-12-26 18:43:23 +08:00
foo-dogsquared
405fd9f1e1 Make miscellaneous updates :) 2021-12-26 16:02:57 +08:00
foo-dogsquared
9f7dc70ab8 Add modules.editors module for home-manager 2021-12-25 22:31:12 +08:00
foo-dogsquared
875abade93 Add modules.desktop.wine option
I'll experiment using Wine with NixOS. Let's just see how this goes.
2021-12-25 22:31:12 +08:00
foo-dogsquared
4c0f04266e Remove editor module for NixOS
The dedicated editor module for NixOS has been removed seeing as it is
barely used. The only exception is Neovim which is moved into
`modules.dev.neovim`.
2021-12-25 20:35:55 +08:00
foo-dogsquared
6d33406492 Update themes module
Setting themes should be in `modules.themes.themes` for namespacing and
the module itself is gaining options.
2021-12-25 20:32:52 +08:00
Gabriel Arazas
9eac509b26 Update documentation 2021-12-21 14:29:27 +08:00
Gabriel Arazas
9d80133023 Update miscellaneous modules and documentation 2021-12-19 17:38:35 +08:00
Gabriel Arazas
3997805f5a Improve backup service 2021-12-19 17:37:22 +08:00
Gabriel Arazas
00e5c13cff Improve NixOS custom user module
Now, it allows for fine-grained configuration for specific users. I also
managed to fix the infinite recursion error by directly assigning the
values to the keys instead of creating a merged module value in
`config`.
2021-12-19 17:33:33 +08:00
Gabriel Arazas
550f890b4f Update custom modules 2021-12-13 15:20:34 +08:00
Gabriel Arazas
adf04a9393 Update various configurations
Flake outputs, hosts, users, and formatting of Nix files. et cetera, et
cetera.
2021-12-11 13:37:27 +08:00
Gabriel Arazas
2ccaca429a Add modules
- `modules.bleachbit` for home-manager.
- `modules.hardware-setup.backup-archive` for NixOS. This might be
  converted to a generic backup service for removable devices.
2021-12-11 13:31:28 +08:00
Gabriel Arazas
efc578e961 Update modules
- Add `modules.desktop.cleanup` for the usual cleanup activties in
  NixOS.
- Update to proper descriptions for module options added with
  `lib.mkEnableOption`.
- Additional packages for various modules.
- Deleted `modules/home-manager/alacritty`. It is pretty useless though.
  :(
2021-12-11 13:16:45 +08:00
Gabriel Arazas
cd15eada5a Update modules and configurations 2021-12-08 12:18:37 +08:00
Gabriel Arazas
c99beb25ce Basic restructuring fix 2021-12-06 18:24:27 +08:00
Gabriel Arazas
c7d2b21756 Revert restructuring 2021-12-06 18:12:00 +08:00
Gabriel Arazas
e8b5f05bfd Update flakes and documentations 2021-12-06 17:57:54 +08:00
Gabriel Arazas
889742c402 Add library and desktop modules 2021-12-06 17:53:34 +08:00
Gabriel Arazas
3a022a374a Restructure the modules
I think this is better for separating modules explicitly. This is also
considered as there are similar objects between modules (e.g., NixOS
and home-manager modules and users).

Revert users module to old position
2021-12-06 17:03:39 +08:00
Gabriel Arazas
3fe8849fe6 Update "A happy GNOME" config 2021-12-05 10:18:50 +08:00
Gabriel Arazas
b7b641aacd Update modules
- 'A happy GNOME' config
- Refactoring some parts of the codebase
2021-12-04 23:27:10 +08:00
Gabriel Arazas
40cca61bbe Update library and custom modules
- Add custom GNOME configurations with dconf keyfiles.
- Refactoring in certain parts of files especially with handling merging
  and importing of modules.
2021-12-02 21:45:49 +08:00
Gabriel Arazas
0f6cf8871f Update config and format the files 2021-11-30 09:03:05 +08:00
Gabriel Arazas
2cf96cb1f3 Format the Nix files 2021-11-29 17:58:02 +08:00
Gabriel Arazas
e2699c2cea Update home-manager modules and related configs 2021-11-29 17:56:24 +08:00
Gabriel Arazas
db5fc8269e Update user-specific config
Oh no, now I'm content with creating my own framework instead of using
something like digga or flake-utils.
2021-11-29 13:30:57 +08:00
Gabriel Arazas
516f465185 Update users NixOS module
Welp, that's one step for more convenient and separate user-specific
configuration. It's a tad simpler than
https://github.com/divnix/devos but I want to work my way towards a
similar setup. It's just a little overwhelming starting with that
framework.
2021-11-27 19:21:08 +08:00
Gabriel Arazas
a34674f672 Update config 2021-11-27 16:04:01 +08:00
Gabriel Arazas
f038f48464 Format the Nix files properly 2021-11-25 21:45:48 +08:00
Gabriel Arazas
539a798009 Rewrite as a flake
I revisited NixOS this week and I've rewritten my NixOS config from
scratch. I must say I really like Nix flakes. For whatever reason it
just clicked and I understood more programming with Nix despite my
previous experience which is not good. Could be just the fact I had a
break for a long time from completely using Nix (I still used it on
non-NixOS distros).

Eh... I still took some things from the original inspiration of this
configuration so there's that.
2021-11-25 19:55:30 +08:00
Gabriel Arazas
3f93d4645f WHHAAAAT! 2021-01-04 23:37:05 +08:00
Gabriel Arazas
44f692976e Update the modules 2020-12-29 22:32:59 +08:00
Gabriel Arazas
f0855976af Update the Nix modules and config 2020-11-10 16:20:03 +08:00
Gabriel Arazas
aa2d8ac987 More tweaks, more fun! 2020-11-05 14:39:02 +08:00
Gabriel Arazas
4114c91901 Move drivers in a more appropriate folder 2020-11-02 22:44:48 +08:00
Gabriel Arazas
80cb28be86 Update the modules
* Python module now has an additional option for the package to be
installed for easier installation of other versions.
* The Python module also has a restriction of installing version 3 and
above.
* The JavaScript module has been moved into a more general module for
web-based tools (including PHP).
2020-10-27 16:33:47 +08:00
Gabriel Arazas
c74dd2ff17 Use nixfmt to all files 2020-10-25 23:49:14 +08:00
Gabriel Arazas
8ed3f6b1c4 Update the theme template
This commit includes a bunch of minor updates of some Nix modules but
the focus here is the update of the theme template. The renaming of the
Cookiecutter template will now make backups and migration between
different filesystems very easy especially with NTFS-based filesystems
often found on external hard drives.
2020-10-21 00:10:59 +08:00
Gabriel Arazas
0337611eb1 Update the config 2020-10-20 23:59:30 +08:00
Gabriel Arazas
ef12c29f36 Update the Nix config
A bunch of minor updates here, a bunch of minor changes there.
All of the Nix changes is here for all the world to see.
2020-10-07 06:56:04 +08:00
Gabriel Arazas
91ff5c8add Update the "Fair and square" theme 2020-10-07 06:24:55 +08:00
Gabriel Arazas
49592d7f01 Use the unstable version for the nth time
I also fixed the long-time occuring error when using the newest version
of the channel (or the unstable one). It turns out to be a simple type
error with the `my.user' attribute. (To be honest the error messages are
quite horrible.)

On another note, I also accidentally bricked my NixOS setup after a
garbage collection and a horrible update. The breakage includes not
being able to use any of the builtin tools of Nix (e.g., nix, nix-env,
nixos-rebuild) due to a shared library error that has been garbage
collected. Which means I have to reinstall it.
(I seem to have a talent for breaking things, if only I'm paid for it.)
2020-10-05 09:38:58 +08:00
Gabriel Arazas
4aa4f638e1 Add a module for data-related tools 2020-09-07 18:36:02 +08:00
Gabriel Arazas
d01e597918 Restructured the project setup
I've also added a little module for version control systems now that I'm finding myself often packaging software.
2020-09-06 04:50:16 +08:00
Gabriel Arazas
4085fce69c Make the setup hardware-independent
One of the bigger changes is to make the setup hardware-independent
which is nice for easier (re-)installations.
Finally about time it happens.

Another big thing is the update of the README, now with some
self-reminding pitch why choose NixOS (or something similar like GuixSD)
which could be nice for other people too, provided they've come across
my NixOS config.

I made the module docstrings a bit more consistent (though still
useless, to be honest).
I've also updated config for Visual Studio Code.
2020-09-01 23:10:44 +08:00
Gabriel Arazas
508f6ae41f ADD MORE MODULES 2020-08-31 05:58:22 +08:00
Gabriel Arazas
31b1a6b63b Update config and add a Nix module for CADs 2020-08-30 23:27:12 +08:00
Gabriel Arazas
6ef087a067 Back to stable AGAIN and update the docs 2020-08-28 15:58:17 +08:00
Gabriel Arazas
5eaf0ac0ed Back again to unstable channels because why not 2020-08-24 23:56:31 +08:00
Gabriel Arazas
b9785fed44 Go back to using stable channels and add unstable channel as a separate channel
NixOS 20.09 is just around the corner anyways so the packages will be updated soonish.
2020-08-20 02:36:05 +08:00
Gabriel Arazas
75a04804a6 Update the config to use the stable versions of nixpkgs separated with the unstable branch 2020-08-19 00:48:02 +08:00
Gabriel Arazas
3d9f5436d8 IT'S FINALLY WORKING! 2020-08-16 16:33:44 +08:00
christiangabrielarazas@gmail.com
19674fe7d2 Update the modules 2020-08-06 23:35:49 +08:00