• Stars
    star
    830
  • Rank 54,934 (Top 2 %)
  • Language
    Nix
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ‘พ NixOS configuration

nix-config

ci-badge

My current โ€” and always evolving โ€” NixOS configuration files, home-manager, neovim, etc.

cowsay

scala-dev-env

desktop

amd

themes

demo

NOTE: My new neovim configuration is now a separate flake: https://github.com/gvolpe/neovim-flake

Programs

The home.nix file contains details about all the software I use, but here's a shout-out to the ones I use the most and that are customized to my needs.

Type Program
Editor NeoVim
Launcher Rofi
Shell Fish
Status Bar Polybar
Terminal Alacritty
Window Manager XMonad

If you're interested in using taffybar or xmobar, browse the commit history and you will find the configuration files I used. Here's a screenshot showcasing the former.

Themes

Type Name
GTK Theme Juno Ocean
GTK Icon Theme Beauty Line
Terminal Font JetBrainsMono

Structure

Here is an overview of the folders' structure:

.
โ”œโ”€โ”€ build
โ”œโ”€โ”€ flake.nix
โ”œโ”€โ”€ flake.lock
โ”œโ”€โ”€ home
โ”‚  โ”œโ”€โ”€ config.nix
โ”‚  โ”œโ”€โ”€ home.nix
โ”‚  โ”œโ”€โ”€ modules
โ”‚  โ”œโ”€โ”€ overlays
โ”‚  โ”œโ”€โ”€ programs
โ”‚  โ”œโ”€โ”€ scripts
โ”‚  โ”œโ”€โ”€ secrets
โ”‚  โ”œโ”€โ”€ services
โ”‚  โ””โ”€โ”€ themes
โ”œโ”€โ”€ imgs
โ”œโ”€โ”€ notes
โ”œโ”€โ”€ outputs
โ”‚  โ”œโ”€โ”€ home-conf.nix
โ”‚  โ””โ”€โ”€ nixos-conf.nix
โ””โ”€โ”€ system
   โ”œโ”€โ”€ cachix
   โ”œโ”€โ”€ cachix.nix
   โ”œโ”€โ”€ configuration.nix
   โ”œโ”€โ”€ fonts
   โ”œโ”€โ”€ machine
   โ”œโ”€โ”€ misc
   โ””โ”€โ”€ wm
  • build: the build and installation script.
  • flake.nix: home and system configurations.
  • home: all the user programs, services and dotfiles.
  • imgs: screenshots and other images.
  • notes: cheat-sheets, docs, etc.
  • outputs: the Home Manager and NixOS flake outputs.
  • system: the NixOS configuration, settings for different laptops and window managers.

Install

You can have a look at the available flake outputs before getting started.

$ nix flake show github:gvolpe/nix-config
github:gvolpe/nix-config/0161ea3bd15e0cd06696f27bd60c588991305b20
โ”œโ”€โ”€โ”€homeConfigurations: unknown
โ””โ”€โ”€โ”€nixosConfigurations
    โ”œโ”€โ”€โ”€dell-xps: NixOS configuration
    โ””โ”€โ”€โ”€tongfang-amd: NixOS configuration

As well as all the declared flake inputs.

$ nix flake metadata github:gvolpe/nix-config

NixOS

The full home configuration is not yet fully automated but the NixOS configuration can be installed by running the following command.

$ nixos-rebuild switch --flake github:gvolpe/nix-config#tongfang-amd

Beware that the hardware-configuration.nix file is the result of the hardware scan of the specific machine and might not be suitable for yours.

Home Manager

A fresh install requires the creation of certain directories so this has not been automated yet (see build script file). However, if you omit those steps, the entire HM configuration can also be built as any other flake.

$ nix build github:gvolpe/nix-config#homeConfigurations.gvolpe-hdmi.activationPackage
$ result/activate

Full configuration via script

On a fresh NixOS installation, run the following commands.

$ nix flake clone github:gvolpe/nix-config --dest /choose/a/path
$ nix run nixpkgs#git-crypt unlock
$ ./build fresh-install # requires sudo

Note that git-crypt unlock requires your GPG Keys to be correctly set up.

The build script is only suitable for a fresh install customized to my personal use but you can build the flakes directly. E.g.

$ nix build .#nixosConfigurations.tongfang-amd.config.system.build.toplevel
sudo result/bin/switch-to-configuration switch

Or for Home Manager.

$ nix build .#homeConfigurations.gvolpe-hdmi.activationPackage
$ result/activate

More Repositories

1

trading

๐Ÿ’ฑ Trading application written in Scala 3 that showcases an Event-Driven Architecture (EDA) and Functional Programming (FP)
Scala
622
star
2

pfps-shopping-cart

๐Ÿ›’ The Shopping Cart application developed in the book "Practical FP in Scala: A hands-on approach"
Scala
530
star
3

pfps-examples

๐Ÿฎ Standalone examples shown in the book "Practical FP in Scala: A hands-on approach"
Scala
197
star
4

advanced-http4s

๐ŸŒˆ Code samples of advanced features of Http4s in combination with some features of Fs2 not often seen.
Scala
143
star
5

sbt-nix.g8

โ„๏ธ Get started with Nix in Scala
Nix
116
star
6

scalar-feda

Scala
96
star
7

neovim-flake

Nix flake for Neovim & Scala Metals
Nix
88
star
8

http4s-good-practices

Collection of what I consider good practices in Http4s (WIP)
75
star
9

shopping-cart-haskell

๐Ÿ’Ž Haskell version of the Shopping Cart application developed in the book "Practical FP in Scala: A hands-on approach"
Haskell
64
star
10

musikell

๐ŸŽธ Artists, Albums and Songs represented using Neo4j + GraphQL
Haskell
56
star
11

newtypes

Zero-cost wrappers (newtypes) for Scala 3
Scala
41
star
12

exchange-rates

๐Ÿ’ฑ Querying a rate-limited currency exchange API using Redis as a cache
Haskell
41
star
13

light-play-rest-api

This project aims to be the reference to create a Light Weight REST API using Play Framework 2.4.x.
Scala
35
star
14

vim-setup

๐Ÿ‘พ My NeoVim configuration for Scala & Haskell development (permanently moved to https://github.com/gvolpe/dotfiles)
Vim Script
29
star
15

fts

๐Ÿ” Postgres full-text search (fts)
Haskell
28
star
16

classy-optics

๐Ÿ”Ž Source code shown at my talks at Scale by the Bay 2018 and Scalar 2019
Scala
27
star
17

haskell-book-exercises

From the book "Haskell Programming from first principles"
Haskell
26
star
18

stm-demo

Bank transfer examples using STM in both Haskell and Scala (zio-stm)
Scala
17
star
19

nmd

NixOS Module Documentation generator
Nix
16
star
20

postgresql-resilient

Automatic re-connection support for PostgreSQL.
Haskell
16
star
21

akka-cluster-demo

Testing the Akka 2.4 feature "akka.cluster.sharding.remember-entities"
Scala
15
star
22

fsm-streams

Scala
15
star
23

BeautyLine

https://www.gnome-look.org/p/1425426/
13
star
24

social-graph-api

Authentication & Social Graph API built on top of Redis, Neo4J and Play!
Scala
13
star
25

split-morphism

โžฐ Split Morphisms
Haskell
11
star
26

hll-algorithm-sample

HLL Algorithm and Web Scraping sample
Scala
11
star
27

simple-http4s-api

Just a simple API using "http4s" and Json support on top of Play Json and Circe
Scala
11
star
28

effects-playground

๐ŸŽฏ Learning different effect systems by example
Haskell
11
star
29

types-matter

Examples shown in my talk "Why types matter". See also https://github.com/gvolpe/par-dual
Haskell
10
star
30

stargazers-raffle

Run a raffle among the ๐ŸŒŸ stargazers ๐ŸŒŸ of a Github project!
Scala
10
star
31

cats-effect-demo

Code samples for the use cases given at my Dublin Scala Meetup's talk
Scala
9
star
32

akka-stream-full-project

Complete project using Akka Stream with Error Handling and ~100% Test Coverage
Scala
9
star
33

cats-functional-data-validation

Functional Data Validation in Scala using the Cats library
Scala
8
star
34

typed-actors-demo

Simple demo using Typed Actors by @knutwalker
Scala
8
star
35

bookies

My solution to a coding challenge
Scala
7
star
36

users-api-test

Basic Users API including Authentication using Http4s v0.18 and Cats Effect v0.5
Scala
7
star
37

falsisign.nix

Nix derivations for falsisign. Save trees, ink, time, and stick it to the bureaucrats!
Nix
5
star
38

learning-haskell

Learning Haskell
Haskell
4
star
39

http4s-crud-demo

CRUD operations and Error Handling using Http4s
Scala
4
star
40

dependent-types

Personal notes taken from the course ThCS. Introduction to programming with dependent types in Scala.
Scala
4
star
41

par-dual

๐Ÿ” ParDual class for a Parallel <-> Sequential relationship
Haskell
4
star
42

advanced-scala-exercises

Solved exercises of the Advanced Scala with Scalaz book by Noel Welsh and Dave Gurnell
Scala
4
star
43

idris-dependent-types

Dependent Types research in the Idris language
Idris
4
star
44

eta-servant-api

Simple Servant REST Api working on ETA (https://eta-lang.org/)
Haskell
4
star
45

social-network

Social Network example Twitter-alike (followers / following) implemented on top of Titan Db
Scala
4
star
46

scala-lab

Playground for Scala 3's experimental features
Scala
4
star
47

http4s-auth

Authentication library for Http4s
Scala
3
star
48

reader-monad-sample

Example of Dependency Injection in Scala with Reader Monads
Scala
3
star
49

nixos-hyprland

NixOS on Wayland / Hyprland
Nix
3
star
50

classy-lens

Photography website
CSS
3
star
51

truco-argentino

Classic card games
C++
3
star
52

optics-exercises

Book exercises
Haskell
3
star
53

functional-chain-of-responsibility

Functional Chain of Responsibility pattern
Scala
3
star
54

gvolpe-bot

Telegram Bot built using the Canoe library
Scala
3
star
55

problem-solving

Just having fun solving algorithmic problems in ฮป Haskell & Scala
Haskell
3
star
56

pricer-streams-demo

Scalaz Streams demo project
Scala
3
star
57

free-monad-example

Simple example of a Custom Free Monad Coyoneda using Scalaz.
Scala
2
star
58

shapeless-demo

Shapeless playground
Scala
2
star
59

play-cors-filter

Play! Framework API with CORS Filter
Scala
2
star
60

coursera-reactive-prog

Curso online de programaciรณn reactiva https://www.coursera.org/course/reactive
Scala
2
star
61

simple-file-reader-akka-actors

Simple file reader using Akka actors in Scala
Scala
2
star
62

blog-comments

Principled Software Craftsmanship (source moved permanently to https://github.com/gvolpe/gvolpe.github.io)
SCSS
2
star
63

pricer-fs2-demo

Demo project using FS2 (Functional Streams for Scala)
Scala
2
star
64

free-as-a-monad

Running 2 or more algebras with Coproduct and Inject when using the Free Monad
Scala
2
star
65

logger-writer-monad

Pure functional log of transactions using the Scalaz Writer Monad.
Scala
2
star
66

play-oauth-silhouette

Example using OAuth with Play! Framework and Silhouette
Scala
2
star
67

rate-limiter

Haskell
1
star
68

summoner-benchmarks

Source code for the benchmarks published in my blog
Scala
1
star
69

cloud-haskell-demo

Getting Started with Cloud Haskell
Haskell
1
star
70

play-2.5.0-M1-streams

Exploring the integration of Akka Stream included in the first milestone version of Play! 2.5.0
Scala
1
star
71

scalaz-streams-playground

Playing around with Scalaz Streams
Scala
1
star
72

di-macwire-sample

Example of Dependency Injection in Scala using Macwire.
Scala
1
star
73

haskell-sample-box

Collection of useful stuff learned day by day.
Haskell
1
star
74

ytui-music-nix

Nixified ytui-music client
Nix
1
star
75

amqp-demo

Haskell
1
star
76

running

A personal running program to train for a 10k run and a half marathon
1
star
77

streaming-playground

Haskell
1
star
78

neovim-coc

My previous NeoVim configuration with CoC for LSP support
Vim Script
1
star
79

steward

Run Scala Steward on my repos
1
star
80

cake-pattern-sample

Example of Cake pattern implementation in Scala.
Scala
1
star
81

slides

1
star
82

redis-scala-script

Redis massive data update with transactions built on top of SCRedis.
Scala
1
star
83

servant-api

Simple API built using Servant
Haskell
1
star
84

functional-data-validation

Functional Data Validation in Haskell (Examples of my talk in Eindhoven, NL on June 2017)
Haskell
1
star
85

bazecor-nix

Nix flake for Bazecor
Nix
1
star
86

transient-demo

Some computational examples using the Transient library
Haskell
1
star
87

play-web-sockets

Example using Web Sockets in Play! Framework 2
Scala
1
star
88

phantom-ssl-extension

Extension for the Cassandra client phantom supporting SSL connections and username / password authentication for Java 8.
Scala
1
star
89

mtl-generic-reader

Exploring the idea of deriving `cats.mtl.ApplicativeAsk` instances for `zio.Task` and `cats.effect.IO` in a principled way.
Scala
1
star
90

pipes-concurrency-tutorial

Pipes Concurrency Tutorial personal notes
Haskell
1
star
91

pipes-tutorial

Haskell Pipes Tutorial personal notes
Haskell
1
star
92

link-checker-akka

Example of a link checker using the actor model of Akka provided by Roland Kuhn in the Reactive Programming course on Coursera.
Scala
1
star
93

events-processor-prototype

Reactive consumer of events coming from a Rabbit MQ queue using Akka streams.
Scala
1
star
94

bash-scripting

Generic Bash Scripting & Utilities that I've been creating for repetitive tasks.
Shell
1
star
95

hypr-binds

Keybinds helper for Hyprland
Nix
1
star
96

gvolpe-website

Source code to generate the static website https://gvolpe.com/
JavaScript
1
star
97

computation-expressions-demo

Simple comparison of the use of the standard Scala Future and the scala async library for asynchronous computation.
Scala
1
star
98

monocle-lenses

Using Monocle lenses to modify nested properties in case classes
Scala
1
star
99

medellin-talk

Haskell
1
star