-
Notifications
You must be signed in to change notification settings - Fork 0
/
akhetaten.scm
152 lines (140 loc) · 5.79 KB
/
akhetaten.scm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
(define-module (polterguix systems akhetaten)
#:use-module (gnu)
#:use-module (gnu home)
;; #:use-module (gnu packages)
;; #:use-module (gnu packages autotools)
#:use-module (gnu packages admin)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz)
;; #:use-module (gnu packages librewolf)
#:use-module (gnu packages fonts)
;; #:use-module (gnu packages base)
;; #:use-module (gnu packages pkg-config)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages hunspell)
#:use-module (gnu packages librewolf)
#:use-module (gnu packages mail)
#:use-module (gnu packages package-management)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages shellutils)
#:use-module (gnu packages terminals)
#:use-module (gnu packages video)
#:use-module (gnu packages vim)
#:use-module (gnu packages wm)
#:use-module (gnu packages web-browsers)
#:use-module (gnu packages xdisorg)
#:use-module (nongnu packages mozilla)
#:use-module (polterguix packages cli)
#:use-module (polterguix packages desktop)
#:use-module (polterguix packages hyprland)
;; #:use-module (gnu services)
;; #:use-module (gnu services networking)
;; #:use-module (gnu services ssh)
;; #:use-module (gnu services xorg)
;; #:use-module (guix gexp)
;; #:use-module (polterguix packages desktop)
;; #:use-module (polterguix packages security)
#:use-module (gnu home services)
#:use-module (gnu home services shells)
#:use-module (gnu home services ssh)
#:use-module (polterguix systems core-system))
(define system
(operating-system
(inherit core-operating-system)
(host-name "akhetaten")
(mapped-devices (list (mapped-device
(source (uuid
"29df3858-a0bb-46c1-8d52-64a11734a789"))
(target "crypt-akhetaten")
(type luks-device-mapping))))
;; placeholder file system
(file-systems (cons* (file-system
(mount-point "/")
(device "/dev/mapper/crypt-akhetaten")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "6CCB-3E30"
'fat32))
(type "vfat"))
%base-file-systems))))
(define home
(home-environment
(packages (list asciiquarium
btop
emacs-next-pgtk-xwidgets
emacs-guix
emacs-jinx
firefox
font-fira-code
font-google-noto
font-google-noto-emoji
font-google-noto-sans-cjk
flatpak
font-dejavu
font-fira-code
font-ghostscript
font-gnu-freefont
fzf
hunspell
hypridle
hyprpaper
kitty
librewolf
mu
neofetch
neovim
nix
obs
qutebrowser
password-store
pinentry
pinentry-emacs
ripgrep
rofi-wayland
sh-z
starship-bin
swaynotificationcenter
waybar
zsh-autosuggestions
zsh-completions
zsh-syntax-highlighting
))
(services
(list (service home-zsh-service-type
(home-zsh-configuration
(zshrc (list
(mixed-text-file "zsh-autosuggestions"
"source $HOME/.guix-home/profile/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh")
(mixed-text-file "zsh-syntax-highlighting"
"source $HOME/.guix-home/profile/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh")
(mixed-text-file "zsh-completions"
"fpath=($HOME/.guix-home/share/zsh/site-functions $fpath)")
(local-file
"/home/pol/polterguix/files/.zshrc" "zshrc")
))
(zprofile (list (local-file
"/home/pol/polterguix/files/.zprofile"
"zprofile")))))
(service home-openssh-service-type
(home-openssh-configuration
(hosts
(list (openssh-host (name "babylon")
(host-name "192.168.0.111")
(user "pol")
(identity-file "/home/pol/.ssh/babylon")
(port 39902))
(openssh-host (name "github.com")
(host-name "github.com")
(user "git")
(identity-file "/home/pol/.ssh/github"))))))
(simple-service 'dotfiles
home-xdg-configuration-files-service-type
`(("hypr/hyprland.conf" ,(local-file "../files/hypr/hyprland-akhetaten.conf"))
("hypr/hyprland-base.conf" ,(local-file "../files/hypr/hyprland-base.conf"))))))))
(if (equal? (getenv "GUIX_TARGET") "home")
home
system)